结论:处理文件的页数约多,单页处理效率约高。相比wps,不论是大文件还是小文件,都明显要慢很多。处理文字编码为UTF-8的文件时速度较快。(查看WPS测试结果)
0. 运行环境
既然是利用Microsoft Office word,所以理所当然需要运行在Windows下。测试用的Office版本:2010。
1.需要的辅助工具:
由于java环境无法直接调用ActiveX,所以借助于开源的jacob。版本: 1.17。
2.代码准备:
这里只列举几个关键步骤吧,完整代码就不列举了,可以自行组合。
2.1 创建Word的ActiveX对象
ActiveXComponent app = new ActiveXComponent("Word.Application"); app.setProperty("Visible", false);
2.2 打开txt文档
Dispatch docs = app.getProperty("Documents").toDispatch(); Dispatch doc = Dispatch.call(docs, "Open", in, // FileName false, // ConfirmConversions true // ReadOnly ).toDispatch();
2.3 输出为PDF文档
Dispatch.call(doc, "SaveAs", out, // FileName 17);
2.4 关闭文档
Dispatch.call(doc, "Close", false); doc.safeRelease();
2.5 关闭ActiveX
if (docs != null) { docs.safeRelease(); } if (app != null) { app.invoke("Quit", 0); app.safeRelease(); }
3. 转换效率
场景1:txt文件大小:5.02k,GBK编码。生成pdf后123k~124k,4页。生成的文件不都是相同大小,这个问题还有待研究。处理1024个文件,用时:898889ms,14分58秒。平均每个文件用时:877.8ms。比WPS文字603.5ms慢了45%。
场景2:txt文件大小:6.04k,UTF-8编码。生成pdf是122k,4页。pdf文件还是大小不一。处理1024个文件,用时:876222ms,14分36秒。平均每个文件用时:855.7ms。时间略低于场景1。原因有可能是word需要把GBK编码的文件转换成UTF-8编码后才能再执行操作,这一点有待证实。
场景3:txt文件大小:2.42m,GBK编码。生成pdf后13.4m,1430页。处理2个文件,用时:464491ms,7分44秒。平均每个文件用时:232245.5ms。比WPS文字慢3.6倍。
分析结果得出:处理文件的页数约多,单页处理效率约高。相比wps,不论是大文件还是小文件,都明显要慢很多。
相关推荐
- 使用转换工具:生成Word文档后,我们需要一个转换工具将Word转换为PDF。常见的工具有iText、Apache PDFBox或者Java的第三方库如Aspose.Words。这里以Apache PDFBox为例,它提供了一个名为`PDDocument`的类来处理...
有时我们需要在Web环境中将PDF转换为Word,以便进行编辑或适应不同的系统需求。本篇将详细介绍如何使用Java实现在Web项目中进行这样的转换。 首先,我们要理解PDF(Portable Document Format)是一种静态的、不可...
在这样的背景下,掌握如何在JAVA环境下将PDF转换为OFD显得尤为重要。本文将详细介绍这一过程,并探讨其背后的关键技术和注意事项。 首先,我们要理解PDF和OFD的区别。PDF是一种通用的文档格式,能够跨平台显示一致...
在Java编程环境中,将文档(如Excel、Word、PDF、PPT)转换为图片是一种常见的需求,这在处理大量文档预览、数据可视化或者移动设备兼容性问题时尤其有用。以下是一些关于如何使用Java实现这种转换的关键知识点: 1...
3. Word到PDF转换:利用iText或PDFBox等库将处理后的Word内容转换为PDF格式。 4. 错误排查和修复:针对生成PDF过程中可能出现的问题进行调试和优化。 理解并掌握这些技术,可以帮助开发者实现高效且灵活的文档自动...
在Java编程环境中,实现跨平台打印功能是一项挑战,因为Java的PrintService API虽然提供了基本的打印支持,但处理特定格式如Word、PDF和图片时,往往需要额外的库和工具。本项目通过纯Java代码实现了这一目标,无需...
2. 在MSOfficeApplication.java中,创建一个`ActiveXComponent`对象,代表Word应用程序: ```java ActiveXComponent word = new ActiveXComponent("Word.Application"); ``` 3. 接下来,打开Word文档: ```java...
在Java开发环境中,将Word文档转换为PDF是常见的需求,特别是在处理报告、文档共享或跨平台兼容性问题时。Apache POI和iText是两个常用的库,分别用于处理Microsoft Office格式(如Word)和PDF文档。本示例将介绍...
"ppt,word, excel, pdf 互转换所需要的jar.rar" 提供的资源是一个Java Archive (JAR) 文件,它包含了一组库,可以支持开发者在应用程序中实现不同文件格式之间的转换。JAR 文件是一种归档格式,用于收集多个Java类...
LaTeX到Word的转换可能需要先将LaTeX编译为PDF,然后使用PDF到Word的转换工具,或者将LaTeX公式转换为MathML,再用Apache POI写入Word文档。 5. **实际应用** - 这些转换在教育、科研和出版等领域有广泛应用。例如...
2. **自带转换Java转换库**:这个工具内置了专门的Java库来执行转换操作,而不是依赖外部服务或者特定环境。这样可以提高转换的效率和稳定性,同时降低了对系统环境的依赖,使得在各种Java环境中都能顺利运行。 3. ...
### Word转PDF及2003与2007共存方法详解 #### 一、Word转PDF:高效转换,保留文档结构 在数字化办公环境中,将Word文档转换为PDF格式是常见需求,尤其是为了确保文档在不同设备上的一致性显示。Office 2007及后续...
在IT行业中,将Word文档转换为PDF格式并实现在线预览功能是一项常见的需求,尤其在Web应用中。这个压缩包“word转PDF然后实现在线...通过学习和理解这些知识点,开发者可以构建出自己的Word到PDF转换及在线预览系统。
**Jacob-1.15:Java到Word、PDF转换的桥梁** Jacob(Java COM Bridge)是一个开源项目,它为Java应用程序提供了与COM组件交互的能力。这个项目的核心是提供了一个Java到COM的桥接器,使得Java开发者能够调用那些...
Java工具包Hutool是一个开源的Java工具类库,它集成了许多在日常开发中常用的功能模块,旨在简化Java开发的工作量,提高开发效率。Hutool的命名来源于对“Hu”(致敬前任公司)和“tool”(工具)的合成,同时谐音...
"word转PDF相关JAR包.zip"这个压缩包提供了Java开发者所需的一些关键库,使得在应用程序中实现Word到PDF的转换成为可能。以下是这些库的详细介绍以及它们在转换过程中的作用。 1. **Apache POI**: Apache POI是...
在实际操作中,将Word文档转换为PDF的原因可能包括保持格式的一致性、防止内容被轻易编辑或为了适应不同的设备和操作系统。这个过程可以通过各种工具实现,包括免费和付费的在线服务,以及利用编程语言编写的自定义...
Java中的Jacob库是一个非常有用的工具,它允许Java应用程序与Microsoft Office进行交互,包括Word、Excel和PowerPoint等。Jacob库的全称为Java COM Bridge,它通过COM(Component Object Model)接口实现了Java与...
- 先导出为PDF,然后利用`JODConverter`转换为Word格式。`JODConverter`基于OpenOffice,能够将多种格式转换为ODF(OpenDocument Format),进而转换为Word。 - 或者,使用Apache POI库直接编程生成Word文档,但这...
用户可以通过运行这个测试应用,上传Office文档并将其转换为PDF,以检查转换的正确性和效率。 在实际应用中,Aspose库提供了API接口,开发者可以调用这些接口在服务器端执行文件转换。例如,你可以创建一个...