`
doingwell
  • 浏览: 34584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

TXT转换PDF方法2:利用Word转换的效率及适应性研究(JAVA环境)

阅读更多

结论:处理文件的页数约多,单页处理效率约高。相比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,不论是大文件还是小文件,都明显要慢很多。

 

分享到:
评论

相关推荐

    使用poi根据模版生成word文档并转换成PDF文件

    - 使用转换工具:生成Word文档后,我们需要一个转换工具将Word转换为PDF。常见的工具有iText、Apache PDFBox或者Java的第三方库如Aspose.Words。这里以Apache PDFBox为例,它提供了一个名为`PDDocument`的类来处理...

    Java实现基于web的pdf转word

    有时我们需要在Web环境中将PDF转换为Word,以便进行编辑或适应不同的系统需求。本篇将详细介绍如何使用Java实现在Web项目中进行这样的转换。 首先,我们要理解PDF(Portable Document Format)是一种静态的、不可...

    JAVA将PDF转OFD 国产化必备

    在这样的背景下,掌握如何在JAVA环境下将PDF转换为OFD显得尤为重要。本文将详细介绍这一过程,并探讨其背后的关键技术和注意事项。 首先,我们要理解PDF和OFD的区别。PDF是一种通用的文档格式,能够跨平台显示一致...

    java文档excel、word、pdf、ppt转图片

    在Java编程环境中,将文档(如Excel、Word、PDF、PPT)转换为图片是一种常见的需求,这在处理大量文档预览、数据可视化或者移动设备兼容性问题时尤其有用。以下是一些关于如何使用Java实现这种转换的关键知识点: 1...

    POI按word模版生成合同并生成PDF(修复生成pdf功能)

    3. Word到PDF转换:利用iText或PDFBox等库将处理后的Word内容转换为PDF格式。 4. 错误排查和修复:针对生成PDF过程中可能出现的问题进行调试和优化。 理解并掌握这些技术,可以帮助开发者实现高效且灵活的文档自动...

    纯java代码跨平台调用打印机打印word、pdf、图片等。

    在Java编程环境中,实现跨平台打印功能是一项挑战,因为Java的PrintService API虽然提供了基本的打印支持,但处理特定格式如Word、PDF和图片时,往往需要额外的库和工具。本项目通过纯Java代码实现了这一目标,无需...

    Java实现word、excel转pdf、html

    2. 在MSOfficeApplication.java中,创建一个`ActiveXComponent`对象,代表Word应用程序: ```java ActiveXComponent word = new ActiveXComponent("Word.Application"); ``` 3. 接下来,打开Word文档: ```java...

    java word转pdf源码示例

    在Java开发环境中,将Word文档转换为PDF是常见的需求,特别是在处理报告、文档共享或跨平台兼容性问题时。Apache POI和iText是两个常用的库,分别用于处理Microsoft Office格式(如Word)和PDF文档。本示例将介绍...

    ppt,word ,excle,pdf 互转换所需要的jar.rar

    "ppt,word, excel, pdf 互转换所需要的jar.rar" 提供的资源是一个Java Archive (JAR) 文件,它包含了一组库,可以支持开发者在应用程序中实现不同文件格式之间的转换。JAR 文件是一种归档格式,用于收集多个Java类...

    java word mathml Latex ooxml 互转

    LaTeX到Word的转换可能需要先将LaTeX编译为PDF,然后使用PDF到Word的转换工具,或者将LaTeX公式转换为MathML,再用Apache POI写入Word文档。 5. **实际应用** - 这些转换在教育、科研和出版等领域有广泛应用。例如...

    基于java的word转pdf工具

    2. **自带转换Java转换库**:这个工具内置了专门的Java库来执行转换操作,而不是依赖外部服务或者特定环境。这样可以提高转换的效率和稳定性,同时降低了对系统环境的依赖,使得在各种Java环境中都能顺利运行。 3. ...

    word转pdf及2003和2007共存的方法

    ### Word转PDF及2003与2007共存方法详解 #### 一、Word转PDF:高效转换,保留文档结构 在数字化办公环境中,将Word文档转换为PDF格式是常见需求,尤其是为了确保文档在不同设备上的一致性显示。Office 2007及后续...

    word转PDF然后实现在线预览的功能.rar

    在IT行业中,将Word文档转换为PDF格式并实现在线预览功能是一项常见的需求,尤其在Web应用中。这个压缩包“word转PDF然后实现在线...通过学习和理解这些知识点,开发者可以构建出自己的Word到PDF转换及在线预览系统。

    jacob-1.15 java转word、pdf桥梁

    **Jacob-1.15:Java到Word、PDF转换的桥梁** Jacob(Java COM Bridge)是一个开源项目,它为Java应用程序提供了与COM组件交互的能力。这个项目的核心是提供了一个Java到COM的桥接器,使得Java开发者能够调用那些...

    Java工具包Hutool Wiki PDF版

    Java工具包Hutool是一个开源的Java工具类库,它集成了许多在日常开发中常用的功能模块,旨在简化Java开发的工作量,提高开发效率。Hutool的命名来源于对“Hu”(致敬前任公司)和“tool”(工具)的合成,同时谐音...

    word转PDF相关JAR包.zip

    "word转PDF相关JAR包.zip"这个压缩包提供了Java开发者所需的一些关键库,使得在应用程序中实现Word到PDF的转换成为可能。以下是这些库的详细介绍以及它们在转换过程中的作用。 1. **Apache POI**: Apache POI是...

    wordpdf.rar

    在实际操作中,将Word文档转换为PDF的原因可能包括保持格式的一致性、防止内容被轻易编辑或为了适应不同的设备和操作系统。这个过程可以通过各种工具实现,包括免费和付费的在线服务,以及利用编程语言编写的自定义...

    java中 jacob各个版本jar及相应的dll文件,能适应各种jdk ,word转pdf,图片转pdf

    Java中的Jacob库是一个非常有用的工具,它允许Java应用程序与Microsoft Office进行交互,包括Word、Excel和PowerPoint等。Jacob库的全称为Java COM Bridge,它通过COM(Component Object Model)接口实现了Java与...

    ireport导出pdf和word文档实例

    - 先导出为PDF,然后利用`JODConverter`转换为Word格式。`JODConverter`基于OpenOffice,能够将多种格式转换为ODF(OpenDocument Format),进而转换为Word。 - 或者,使用Apache POI库直接编程生成Word文档,但这...

    office2pdf_byAspose包含jar包.zip

    用户可以通过运行这个测试应用,上传Office文档并将其转换为PDF,以检查转换的正确性和效率。 在实际应用中,Aspose库提供了API接口,开发者可以调用这些接口在服务器端执行文件转换。例如,你可以创建一个...

Global site tag (gtag.js) - Google Analytics