java xpdf 转换成html_java将Word/Excel/PDF文件转换成HTML整理

项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理如下:

一、使用Jacob转换Word,Excel为HTML

“JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries。”

首先下载Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未测试),与先前的Jacob1.7差别不大

1、将压缩包解压后,Jacob.jar添加到Libraries中;

2、将Jacob.dll放至“WINDOWS\SYSTEM32”下面。

需要注意的是:

【使用IDE启动Web服务器时,系统读取不到Jacob.dll,例如用MyEclipse启动Tomcat,就需要将dll文件copy到MyEclipse安装目录的“jre\bin”下面。

一般系统没有加载到Jacob.dll文件时,报错信息为:“java.lang.UnsatisfiedLinkError: no jacob in java.library.path”】

新建类:

1

0818b9ca8b590ca3270a3433284dd417.png

public

class

JacobUtil

2

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

{30818b9ca8b590ca3270a3433284dd417.pngpublic staticfinalintWORD_HTML=8;40818b9ca8b590ca3270a3433284dd417.png50818b9ca8b590ca3270a3433284dd417.pngpublic staticfinalintWORD_TXT =7;60818b9ca8b590ca3270a3433284dd417.png70818b9ca8b590ca3270a3433284dd417.pngpublic staticfinalintEXCEL_HTML=44;80818b9ca8b590ca3270a3433284dd417.png90818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png/** *//**100818b9ca8b590ca3270a3433284dd417.png     * WORD转HTML110818b9ca8b590ca3270a3433284dd417.png     *@paramdocfile WORD文件全路径120818b9ca8b590ca3270a3433284dd417.png     *@paramhtmlfile 转换后HTML存放路径130818b9ca8b590ca3270a3433284dd417.png*/140818b9ca8b590ca3270a3433284dd417.pngpublic staticvoidwordToHtml(String docfile, String htmlfile)150818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{160818b9ca8b590ca3270a3433284dd417.png        ActiveXComponent app=newActiveXComponent("Word.Application");//启动word 170818b9ca8b590ca3270a3433284dd417.pngtry180818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{190818b9ca8b590ca3270a3433284dd417.png            app.setProperty("Visible",newVariant(false));200818b9ca8b590ca3270a3433284dd417.png            Dispatch docs=app.getProperty("Documents").toDispatch();210818b9ca8b590ca3270a3433284dd417.png            Dispatch doc=Dispatch.invoke(220818b9ca8b590ca3270a3433284dd417.png                    docs,230818b9ca8b590ca3270a3433284dd417.png"Open",240818b9ca8b590ca3270a3433284dd417.png                    Dispatch.Method,250818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngnewObject[] 0818b9ca8b590ca3270a3433284dd417.png{ docfile,newVariant(false),260818b9ca8b590ca3270a3433284dd417.pngnewVariant(true) },newint[1]).toDispatch();270818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            Dispatch.invoke(doc,"SaveAs", Dispatch.Method,newObject[] 0818b9ca8b590ca3270a3433284dd417.png{280818b9ca8b590ca3270a3433284dd417.png                    htmlfile,newVariant(WORD_HTML) },newint[1]);290818b9ca8b590ca3270a3433284dd417.png            Variant f=newVariant(false);300818b9ca8b590ca3270a3433284dd417.png            Dispatch.call(doc,"Close", f);310818b9ca8b590ca3270a3433284dd417.png        }320818b9ca8b590ca3270a3433284dd417.pngcatch(Exception e)330818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{340818b9ca8b590ca3270a3433284dd417.png            e.printStackTrace();350818b9ca8b590ca3270a3433284dd417.png        }360818b9ca8b590ca3270a3433284dd417.pngfinally370818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{380818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            app.invoke("Quit",newVariant[]0818b9ca8b590ca3270a3433284dd417.png{});390818b9ca8b590ca3270a3433284dd417.png        }400818b9ca8b590ca3270a3433284dd417.png    }410818b9ca8b590ca3270a3433284dd417.png420818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png/** *//**430818b9ca8b590ca3270a3433284dd417.png     * EXCEL转HTML440818b9ca8b590ca3270a3433284dd417.png     *@paramxlsfile EXCEL文件全路径450818b9ca8b590ca3270a3433284dd417.png     *@paramhtmlfile 转换后HTML存放路径460818b9ca8b590ca3270a3433284dd417.png*/470818b9ca8b590ca3270a3433284dd417.pngpublic staticvoidexcelToHtml(String xlsfile, String htmlfile)480818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{490818b9ca8b590ca3270a3433284dd417.png        ActiveXComponent app=newActiveXComponent("Excel.Application");//启动word 500818b9ca8b590ca3270a3433284dd417.pngtry510818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{520818b9ca8b590ca3270a3433284dd417.png            app.setProperty("Visible",newVariant(false));530818b9ca8b590ca3270a3433284dd417.png            Dispatch excels=app.getProperty("Workbooks").toDispatch();540818b9ca8b590ca3270a3433284dd417.png            Dispatch excel=Dispatch.invoke(550818b9ca8b590ca3270a3433284dd417.png                    excels,560818b9ca8b590ca3270a3433284dd417.png"Open",570818b9ca8b590ca3270a3433284dd417.png                    Dispatch.Method,580818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngnewObject[] 0818b9ca8b590ca3270a3433284dd417.png{ xlsfile,newVariant(false),590818b9ca8b590ca3270a3433284dd417.pngnewVariant(true) },newint[1]).toDispatch();600818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            Dispatch.invoke(excel,"SaveAs", Dispatch.Method,newObject[] 0818b9ca8b590ca3270a3433284dd417.png{610818b9ca8b590ca3270a3433284dd417.png                    htmlfile,newVariant(EXCEL_HTML) },newint[1]);620818b9ca8b590ca3270a3433284dd417.png            Variant f=newVariant(false);630818b9ca8b590ca3270a3433284dd417.png            Dispatch.call(excel,"Close", f);640818b9ca8b590ca3270a3433284dd417.png        }650818b9ca8b590ca3270a3433284dd417.pngcatch(Exception e)660818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{670818b9ca8b590ca3270a3433284dd417.png            e.printStackTrace();680818b9ca8b590ca3270a3433284dd417.png        }690818b9ca8b590ca3270a3433284dd417.pngfinally700818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{710818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png            app.invoke("Quit",newVariant[]0818b9ca8b590ca3270a3433284dd417.png{});720818b9ca8b590ca3270a3433284dd417.png        }730818b9ca8b590ca3270a3433284dd417.png    }740818b9ca8b590ca3270a3433284dd417.png750818b9ca8b590ca3270a3433284dd417.png}

76

0818b9ca8b590ca3270a3433284dd417.png

当时我在找转换控件时,发现网易也转载了一偏关于Jacob使用帮助,但其中出现了比较严重的错误:String htmlfile = "C:\\AA";

只指定到了文件夹一级,正确写法是String htmlfile = "C:\\AA\\xxx.html";

到此WORD/EXCEL转换HTML就已经差不多了,相信大家应该很清楚了:)

二、使用XPDF将PDF转换为HTML

2、下载中文支持包

3、下载pdftohtml支持包

4、解压调试

1) 先将xpdf-3.02pl2-win32.zip解压,解压后的内容可根据需要进行删减,如果只需要转换为txt格式,其他的exe文件可以删除,只保留pdftotext.exe,以此类推;

2) 然后将xpdf-chinese-simplified.tar.gz解压到刚才xpdf-3.02pl2-win32.zip的解压目录;

3) 将pdftohtml-0.39-win32.tar.gz解压,pdftohtml.exe解压到xpdf-3.02pl2-win32.zip的解压目录;

4) 目录结构:

+---[X:\xpdf]

|-------各种转换用到的exe文件

|

|-------xpdfrc

|

+------[X:\xpdf\xpdf-chinese-simplified]

|

|

+-------很多转换时需要用到的字符文件

xpdfrc:此文件是用来声明转换字符集对应路径的文件

5) 修改xpdfrc文件(文件原名为sample-xpdfrc)

修改文件内容为: Txt代码

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

#

-----

begin Chinese Simplified support

package

0818b9ca8b590ca3270a3433284dd417.pngcidToUnicode    Adobe

-

GB1       xpdf

-

chinese

-

simplified\Adobe

-

GB1.cidToUnicode

0818b9ca8b590ca3270a3433284dd417.pngunicodeMap      ISO

-

2022

-

CN     xpdf

-

chinese

-

simplified\ISO

-

2022

-

CN.unicodeMap

0818b9ca8b590ca3270a3433284dd417.pngunicodeMap      EUC

-

CN          xpdf

-

chinese

-

simplified\EUC

-

CN.unicodeMap

0818b9ca8b590ca3270a3433284dd417.pngunicodeMap  GBK    xpdf

-

chinese

-

simplified\GBK.unicodeMap

0818b9ca8b590ca3270a3433284dd417.pngcMapDir         Adobe

-

GB1       xpdf

-

chinese

-

simplified\CMap

0818b9ca8b590ca3270a3433284dd417.pngtoUnicodeDir                    xpdf

-

chinese

-

simplified\CMap

0818b9ca8b590ca3270a3433284dd417.pngfontDir  C:\WINDOWS\Fonts  

0818b9ca8b590ca3270a3433284dd417.pngdisplayCIDFontTT Adobe

-

GB1 C:\WINDOWS\Fonts\simhei.ttf

0818b9ca8b590ca3270a3433284dd417.png#

-----

end Chinese Simplified support

package

0818b9ca8b590ca3270a3433284dd417.png

6) 创建bat文件pdftohtml.bat(放置的路径不能包含空格)

内容为: Txt代码

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

@echo off

0818b9ca8b590ca3270a3433284dd417.pngset folderPath

=%

1

0818b9ca8b590ca3270a3433284dd417.pngset filePath

=%

2

0818b9ca8b590ca3270a3433284dd417.pngcd

/

d

%

folderPath

%

0818b9ca8b590ca3270a3433284dd417.pngpdftohtml

-

enc GBK

%

filePath

%

0818b9ca8b590ca3270a3433284dd417.pngexit 7) 创建类

JAVA代码

0818b9ca8b590ca3270a3433284dd417.png

public

class

ConvertPdf

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

{

0818b9ca8b590ca3270a3433284dd417.pngprivate staticString INPUT_PATH;  

0818b9ca8b590ca3270a3433284dd417.pngprivate staticString PROJECT_PATH;  

0818b9ca8b590ca3270a3433284dd417.png      

0818b9ca8b590ca3270a3433284dd417.pngpublic staticvoidconvertToHtml(String file, String project)  

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{  

0818b9ca8b590ca3270a3433284dd417.png        INPUT_PATH=file;  

0818b9ca8b590ca3270a3433284dd417.png        PROJECT_PATH=project;  

0818b9ca8b590ca3270a3433284dd417.pngif(checkContentType()==0)  

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{  

0818b9ca8b590ca3270a3433284dd417.png            toHtml();  

0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png    }0818b9ca8b590ca3270a3433284dd417.png      

0818b9ca8b590ca3270a3433284dd417.pngprivate staticintcheckContentType()  

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{  

0818b9ca8b590ca3270a3433284dd417.png        String type=INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".")+1, INPUT_PATH.length())  

0818b9ca8b590ca3270a3433284dd417.png                .toLowerCase();  

0818b9ca8b590ca3270a3433284dd417.pngif(type.equals("pdf"))  

0818b9ca8b590ca3270a3433284dd417.pngreturn 0;  

0818b9ca8b590ca3270a3433284dd417.pngelse0818b9ca8b590ca3270a3433284dd417.pngreturn 9;  

0818b9ca8b590ca3270a3433284dd417.png    }0818b9ca8b590ca3270a3433284dd417.png      

0818b9ca8b590ca3270a3433284dd417.pngprivate staticvoidtoHtml()  

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{  

0818b9ca8b590ca3270a3433284dd417.pngif(newFile(INPUT_PATH).isFile())  

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{  

0818b9ca8b590ca3270a3433284dd417.pngtry0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{  

0818b9ca8b590ca3270a3433284dd417.png                String cmd="cmd /c start X:\\pdftohtml.bat \""+ PROJECT_PATH +"\"\""+ INPUT_PATH +"\"";  

0818b9ca8b590ca3270a3433284dd417.png                Runtime.getRuntime().exec(cmd);  

0818b9ca8b590ca3270a3433284dd417.png            }0818b9ca8b590ca3270a3433284dd417.pngcatch(IOException e)  

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png{  

0818b9ca8b590ca3270a3433284dd417.png                e.printStackTrace();  

0818b9ca8b590ca3270a3433284dd417.png            }0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png    }0818b9ca8b590ca3270a3433284dd417.png      

0818b9ca8b590ca3270a3433284dd417.png}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 出现 quot_MYSQL 新版出现 Client does_mysql _ 搞代码

mysql 帮助:A.2.3 Client does not support authentication protocolMySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attemp…

Java可移动性不强_java地位无可撼动的原因

如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念。犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值。而Java作为现代程序员的中坚力量在这点上会不会成为下一个COBOL?有关JAVA的技术卖出多少本书已经是一个很久远的记忆了…

php数据回显是什么意思,jquery回显是什么意思

首先来看一下回显是什么意思?在数据提交出现错误的时候, 已填写的信息仍在文本框中, 比如用户登录, 当用户输入错误的密码之后, 用户名仍在文本框, 只是密码框清空。对于一些要填写很多信息的表单, 如果因为一些错误导致已经填写的整个表单信息重新填写, 对于用户非…

Java摩托车汽车轮胎数量,摩托车轮子上的知识,你知道多少?

原标题:摩托车轮子上的知识,你知道多少?摩托车轮子好比人的两条腿,决定了车子跑得远,跑得快和跑得是否安稳。摩友们似乎对轮子的关心不多,因为它是易损件,概念中轮子轮胎出了问题,随便找路边的“风火补胎”…

php配置文件加盐解密,PHP实现支持加盐的图片加密解密

一个简单的图片加解密函数&#xff0c;使用client跑&#xff0c;不要使用浏览器跑话不多说&#xff0c;直接上代码/*** Created by hello.* User: qq 845875470* Date: 2016/4/2* Time: 11:21*/$notice <<为了稳定性&#xff0c;必须在客户端跑格式 &#xff1a;php pat…

Oracle导入dmp文件报12504,ORA-12504:TNS :监听程序在 CONNECT_DATA 中未获得SERVICE_NAME...

使用本地的SQLPlus连接服务器上的Oracle数据库&#xff0c;这是由于本地有安装了Oracle数据库服务&#xff0c;所以才会系统先提示&#xff1a;ORA-12504:TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME再次输入用户名密码系统又提示&#xff1a;ORA-12560: TNS: 协议适配…

linux+有趣的指令,6个有趣的Linux命令(乐趣终端) - 第二部分

在我们过去的以下文章中&#xff0c;我们展示了一些关于Linux的有趣命令的有用文章&#xff0c;这表明Linux并不像看起来那么复杂&#xff0c;如果我们知道如何使用它&#xff0c;就会很有趣。 Linux命令行可以非常容易地完成任何复杂的任务&#xff0c;可以有趣和快乐。有趣的…

dvwa安装包linux,dvwa安裝、配置、使用教程(Linux)

一、搭建LAMP環境二、安裝DVWA2.1 下載dvwa2.2 解壓安裝將下載的應用解壓到apache默認的主目錄/var/www/html&#xff1a;unzip DVWA-master.zip -d /usr/www/html2.3 啟用功能dvwa上的漏洞&#xff0c;需要些刻意的配置才能被利用。訪問&#xff1a;http://172.0.0.2/dvwa如下…

八数码c语言编程深度搜索,广度优先搜索解 八数码, 求意见, 求bug/

已结贴√问题点数&#xff1a;100 回复次数&#xff1a;31广度优先搜索解 , 求意见&#xff0c; 求bug/我得去买票了&#xff0c;....#include #include #include #define NUM 5typedef struct bgMatrix{int v, w;char matrix[NUM][NUM];int pre;}Matrix;typedef struct bgQueu…

linux定时任务每两天执行,Linux定时任务 crontab每秒执行 实现2种方法

linux crontab 命令&#xff0c;最小的执行时间是一分钟&#xff0c; 如果要在小于一分钟执行。就要换个方法来实现&#xff0c;下面分别以两种方法来实现&#xff1a;tolog.phpfile_put_contents(/home/fujieace/php/crontab/run.log, date(Y-m-d H:i:s)."\r\n", FI…

C语言中的标识符以字母或下划线开头,牛逼大神整理的C语言基础知识,你确定你不码下来?...

【【怪兽爱C语言】牛逼大神整理的C语言基础知识&#xff0c;你确定你不码下来&#xff1f;】https://toutiao.com/group/6577344220355363341/?iid15906422033&appexplore_article&timestamp1531501720&tt_fromcopy_link&utm_sourcecopy_link&utm_mediumt…

c语言switch同时比较多个变量,C语言学习if和switch分支选择结构

如何判断一个整数是否为正数计算机同我们一样&#xff0c;也是可以判断大小。在此之前&#xff0c;我们需要先说明在计算机中用来判断两个数关系的符号&#xff0c;即关系运算符。关系运算符号c语言中的关系运算符与数学上学习的有什么不同&#xff1f;image.png关系表达式的值…

c语言字符串升序输出,编写程序将已按升序排好的两个字符串a和b中的字符按升序归并到字符串c中,最后输出”abcdefghijklmnpq”。...

满意答案sjoest2014.08.18采纳率&#xff1a;59% 等级&#xff1a;8已帮助&#xff1a;663人(1)char a[]"acegikm"; a数组没有赋予数组大小&#xff0c;所以它的大小&#xff0c;默认等于赋予的字符串长度等于7&#xff0c;所以当strcat(a,b)时&#xff0c;…

c语言指针化简带分数,c语言带分数四则运算问题!!!要求被调函数,化简.

满意答案Lie囡2013.02.03采纳率&#xff1a;58% 等级&#xff1a;12已帮助&#xff1a;8948人#include long int a,b,c,d,x,y,z;char op;int f1();int f2();main(){printf("shu ru di yi ge shu de fen zi:");scanf("%ld",&a);printf("shu ru …

c语言smile定义函数,【C初始之习题五】

1.实现一个函数&#xff0c;打印乘法口诀表&#xff0c;口诀表的行数和列数自己指定&#xff0c;输入9&#xff0c;输出99口诀表&#xff0c;输入12&#xff0c;输出1212的乘法口诀表。#define _CRT_SECURE_NO_WARNINGS#include#includevoid Sum(int x){int num 0;for (int i …

2017年9月计算机二级c语言,2017年9月计算机二级C语言程序设计练习题

2017年9月计算机二级C语言程序设计练习题2017年计算机二级考试即将在九月份进行&#xff0c;你准备好了吗?下面是小编为大家带来的计算机二级C语言程序设计练习题&#xff0c;欢迎阅读。练习题一&#xff1a;阅读程序题1、int x6, y7;printf(“%d,”,x); printf(“%d”,y);程序…

android getter不起作用,java - 如何在Android Studio中自动生成getter和setter

java - 如何在Android Studio中自动生成getter和setterAndroid Studio中是否有一个快捷方式可以自动生成给定类中的getter和setter&#xff1f;14个解决方案454 votes在编辑器中使用Alt Insert for Windows或Command N for Mac&#xff0c;您可以轻松地为类的任何字段生成get…

离散中多重组合是指_PLC编程中如何使用开关、模拟、脉冲量

在工业自动化控制中&#xff0c;经常会遇到开关量&#xff0c;数字量&#xff0c;模拟量&#xff0c;离散量&#xff0c;脉冲量等各种概念&#xff0c;而人们在实际应用中&#xff0c;对于这些概念又很容易混淆。作为电气工程及其自动化设计人员来说&#xff0c;弄清楚这些变量…

Android连接相机WiFi,安卓手机使用佳能相机机身wifi传输拍摄的操作

第一步 相机基础设置首先请确保相机具有WIFI功能&#xff1b;设置相机图像包含JPG格式&#xff1b;3. 相机电源设置&#xff0c;请关闭相机的自动关闭电源功能以保证传输&#xff1a;MENU→“自动关闭电源”→选择“关闭”或“最长时间”&#xff1b;4. ftp设置&#xff0c;…

word论文排版插件_教你如何用word快速搞定论文排版

在疫情影响下&#xff0c;各大高校纷纷开启了远程指导论文/答辩&#xff0c;尽量不影响毕业时间。这不&#xff0c;前段时间湖北武汉科技大学的同学&#xff0c;利用视频在家顺利通过博士学位论文答辩。emmm&#xff0c;人家都答辩完半个月了&#xff0c;回头瞧瞧我们&#xff…