首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

WORD文件转换PDF步骤1:利用Word转换的效率及适应性研究(JAVA环境)

2013-03-01 
WORD文件转换PDF方法1:利用Word转换的效率及适应性研究(JAVA环境)结论:5页文件每页用时153.4ms,1430页文件

WORD文件转换PDF方法1:利用Word转换的效率及适应性研究(JAVA环境)

结论:5页文件每页用时153.4ms,1430页文件每页用时141.4ms,差别并不明显。

?

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 打开word文档

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:word文件大小:18.7k,5页。生成pdf后123k。生成的文件不都是相同大小,这个问题还有待研究。处理1024个文件,用时:785555ms,13分5秒。平均每个文件用时:767.1ms。

?

场景2:word文件大小:2.27m,1430页。生成pdf是13.3m。pdf文件还是大小不一。处理4个文件,用时:808589ms,13分28秒。平均每个文件用时:202147ms。

?

可以看出,场景1的5页文件每页用时153.4ms,场景2的1430页文件每页用时141.4ms,差别并不明显。

热点排行