如何用java将pdf文件转换成word文件
需要用到插件jacob,自己去下载吧。
import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; public class D2P { private ActiveXComponent wordCom = null; private Object wordDoc = null; private final Variant False = new Variant(false); private final Variant True = new Variant(true);/** *//** *//** *//*** 打开word文档** @param filePath* word文档* @return 返回word文档对象*/ public boolean openWord(String filePath) {//建立ActiveX部件 wordCom = new ActiveXComponent("Word.Application"); try {//返回wrdCom.Documents的Dispatch Dispatch wrdDocs = wordCom.getProperty("Documents").toDispatch();//调用wrdCom.Documents.Open方法打开指定的word文档,返回wordDoc wordDoc = Dispatch.invoke(wrdDocs, "Open", Dispatch.Method,new Object[] { filePath }, new int[1]).toDispatch(); return true; } catch (Exception ex) { ex.printStackTrace(); } return false; }/** *//** *//** *//*** 关闭word文档*/ public void closeWord() {//关闭word文件 wordCom.invoke("Quit", new Variant[] {}); }/** *//** *//** *//*** * 将word文档打印为PS文件后,使用Distiller将PS文件转换为PDF文件 *** @param sourceFilePath* 源文件路径 ** @param destinPSFilePath* 首先生成的PS文件路径 ** @param destinPDFFilePath* 生成PDF文件路径*/ public void docToPDF(String sourceFilePath, String destinPSFilePath,String destinPDFFilePath) { if (!openWord(sourceFilePath)) { closeWord(); return; }//建立Adobe Distiller的com对象 ActiveXComponent distiller = new ActiveXComponent("PDFDistiller.PDFDistiller.1"); try {//设置当前使用的打印机,我的Adobe Distiller打印机名字为"Adobe PDF" wordCom.setProperty("ActivePrinter", new Variant("MS Publisher Color Printer"));//设置printout的参数,将word文档打印为postscript文档。
目前只使用了前5个参数,如果要使用更多的话可以参考MSDN的office开发相关api//是否在后台运行 Variant Background = False;//是否追加打印 Variant Append = False;//打印所有文档 int wdPrintAllDocument = 0; Variant Range = new Variant(wdPrintAllDocument);//输出的postscript文件的路径 Variant OutputFileName = new Variant(destinPSFilePath); Dispatch.callN((Dispatch) wordDoc, "PrintOut", new Variant[] { Background, Append, Range, OutputFileName }); System.out.println("由word文档打印为ps文档成功!");//调用Distiller对象的FileToPDF方法所用的参数,详细内容参考Distiller Api手册//作为输入的ps文档路径 Variant inputPostScriptFilePath = new Variant(destinPSFilePath);//作为输出的pdf文档的路径 Variant outputPDFFilePath = new Variant(destinPDFFilePath);//定义FileToPDF方法要使用adobe pdf设置文件的路径,在这里没有赋值表示并不使用pdf配置文件 Variant PDFOption = new Variant("");//调用FileToPDF方法将ps文档转换为pdf文档 Dispatch.callN(distiller, "FileToPDF", new Variant[] { inputPostScriptFilePath, outputPDFFilePath, PDFOption }); System.out.println("由ps文档转换为pdf文档成功!"); } catch (Exception ex) { ex.printStackTrace(); } finally { closeWord(); wordCom=null;//释放在程序线程中引用的其它com,比如Adobe PDFDistiller ComThread.Release(); } } public static void main(String[] argv) { D2P d2p = new D2P(); d2p.docToPDF("d:/12.doc", "d:/1p.ps", "d:/1p.pdf");//这里是你建一个叫12.doc的word文档,生成的文档将在D盘下//1p.ps和1p.pdf(这是我们要的) } }
excel中单元格赋值和读值问题A1中是个公式,计算结果显示在A
工具:Microsoft Office步骤:1、按window键+R,输入regedit,点击确定、2、打开HKEY_CLASSES_ROOT隐藏的项3、找到office中的文件对应得后缀,并打开隐藏的项(如:excle的后缀为.xlsx和.xls,word的后缀为.docx和.doc,ppt的后缀为.pptx和.ppt)4、鼠标右键→新建→项,5、项名为Word.Sheet.126、在Word.Sheet.12(Excel中新建项名为:Excel.Sheet.12)项下面继续新建项,项名为ShellNew。
在ShellNew项中创建 字符串值 ,名称为:FileName,无需写赋值数据,完成。
...
EXCEl中多重分支嵌套判断赋值函数怎样写,比如在体育考试短跑中?...
切换到PDF文件窗口,选择好范围。
在弹出的对话窗口中,选择“新分区”然后点“发送到所选位置”;5、在OneNote窗口中就会出现一张刚才所选的图片;4类 型哆,所选的PDF文件中的文字信息就被识别word中来,重复以上步骤,右键选择“复制图片中的文本”;6、然后切换到word窗口,右键点击粘贴选项中的 文本。
这样,选屏幕剪辑。
调整好PDF,让其最大化;3、从插入菜单上、OneNote 三个软件同时打开;2、先切换到OneNote,新建分区、首先把PDF文件、word2010:1,项钼 好,gft.baidu/www.j001.net?fhatoffice2010 pdf转成word方法
如何使Word输出文档按页序排列?
我们平时用电脑的时候可能都少不了打印材料,Wod是我们平常用的最多的Office软件之一,那么我们在用Wod打印文档的时候要注意哪些问题,可以使我们的打印更加简单有效,来提高我们的办公效率呢? 比如,如果我们想使Wod输出文档按页序排列,该怎么办呢? 我们打印一篇有很多页的文档时, Wod默认总是从第一页打印到最后一页,所以文档打印完后是最后一页在最上面,第一页在最下面,是按页号的逆序排列的。
现在有一部分激光打印机可以使输出的文档按页号正序排列,或者有的打印机有两个输出纸道,可以调节不同的输出纸道使输出文档按正序还是逆序排列。
但绝大多数的喷墨打印机只能使输出的文档按页号逆序排列,这样的话我们只能用手工方式将所有的页逆序整理一遍,十分麻烦。
其实存在这种问题的打印机我们在打印前只要先在Wod的“文件”→ “打印”→“选项”中,选中“逆页序打印”,即可在打印时从最后一页打印到第一页,这样打印机打印完后所有的页都是按顺序排列。