在很多企业级应用中都涉及到将office图片转换成pdf进行保存或者发布的场景,因为pdf格式的文档方便进行加密和权限控制(类似于百度文库)。总结起来目前将office文件转换
成pdf的方法主要有两种:
1、利用jcob调用ms office的com组件,将office文档转换成pdf。
2、利用jcob调用acrobat将office文档转换成pdf。
在实际使用中发现,由于office不同所以本的文件格式不一致,所以任何第三方的转化工具都不可能完美的兼容所有office版本,最好的方案就是调用ms office提供的com组件来进
行转换,就算office高版本出现,我们要做的也只是升级我们的office版本而已。
首先,利用office的com组件进行文档转换首先需要到jacob官网下载一个jacob.jar和jacob.dll,jacob.dll需要放到windows的system32下面,jacob.jar引用到java工程中。
其次,编写代码,初始化word进程,并返回word的所有document对象:
//打开word应用程序
ActiveXComponent app = new ActiveXComponent("Word.Application");
//设置word不可见,否则会弹出word界面
app.setProperty("Visible", false);
//获得word中所有打开的文档,返回Documents对象
Dispatch docs = app.getProperty("Documents").toDispatch();
第三步,打开我们要转换的word文档:
//调用Documents对象中Open方法打开文档,并返回打开的文档对象Document
Dispatch doc = Dispatch.call(docs,
"Open",
"xxx.doc",
false,
true
).toDispatch();
最后,另存我们刚才打开的文档,并关闭word进程:
//调用Document对象的SaveAs方法,将文档保存为pdf格式
Dispatch.call(doc,
"ExportAsFixedFormat",
"xxx.pdf",
wdFormatPDF //word保存为pdf格式
); //关闭文档
Dispatch.call(doc, "Close",false);
//关闭word应用程序
app.invoke("Quit", 0);
附录:完整代码
public static void word2PDF(String inputFile,String pdfFile){
//打开word应用程序
ActiveXComponent app = new ActiveXComponent("Word.Application");
//设置word不可见,否则会弹出word界面
app.setProperty("Visible", false);
//获得word中所有打开的文档,返回Documents对象
Dispatch docs = app.getProperty("Documents").toDispatch();
//调用Documents对象中Open方法打开文档,并返回打开的文档对象Document
Dispatch doc = Dispatch.call(docs,
"Open",
inputFile,
false,
true
).toDispatch();
//调用Document对象的SaveAs方法,将文档保存为pdf格式
Dispatch.call(doc,
"ExportAsFixedFormat",
pdfFile,
wdFormatPDF //word保存为pdf格式
);
//关闭文档
Dispatch.call(doc, "Close",false);
//关闭word应用程序
app.invoke("Quit", 0);
}
相关推荐
电子行业周报:奇力新上调电感价格,华为、小米、OPPO新品同发.pdf
ths_3g_moto_a760_V1_01 同发顺手机炒股软件3G版免费试用!请快下载!7月20前免费!
专用设备行业:轨道交通设备行业专题一,新老基建同发力,轨交十四五仍大有可为-20200519-浙商证券-32页.pdf
【同发方程式相量图】是电力系统中分析同步发电机工作原理的重要工具,它将复杂的电磁关系通过相量的形式直观展示,便于理解和计算。在本文中,我们将深入探讨凸极发电机和隐极发电机的电磁过程、电势方程式、相量图...
同发方程式相量图是电力工程领域中分析同步发电机工作原理的重要工具,主要用于理解电机的电磁关系和电气性能。本课件主要介绍了凸极发电机和隐极发电机的电势方程式、相量图以及其相关特性。 首先,凸极发电机的...
投料孔作为将地面的固体物料直接输送至井下的快捷通道,解决了矿井建设和生产过程中的辅助运愉问题,具有缩短施工工期、减少成本的意义。通过对同发东周窑煤矿投料孔设计与施工工艺的研究,分析了钻探事故发生的原因;在...
《微机电力自动装置原理与同发机的自并列》是电力系统中重要的理论与实践相结合的内容。本文主要探讨了发电机组并列操作的重要性和并列操作的基本原则,以及准同期并列的条件和冲击电流的计算。 并列操作在电力系统...
本文主要介绍了同发东周窑主斜井带式输送机的改造目标、改造方案,并对该带式输送机中间驱动关键技术、控制系统的改造及煤流均衡系统等方面进行了研究,改造后主井带式输送机运量由4000t/h增加到了5500t/h,保证了矿井...
东周窑井田在巷道掘进以及回采过程中遇到诸多地质问题,仅仅通过钻孔不能把握煤层赋存及构造发育情况。利用方差数据技术处理三维地震勘探获得的数据,能够快速识别整个地震勘探区域的地质构造以及岩层的分布特征。...
随着科技的不断进步,物联网技术在智能电网中的应用将继续深化,未来智能电网将实现更加全面的智能化管理,进一步提高电网的安全性、稳定性以及能源的使用效率,这将对社会经济发展产生深远的影响。物联网技术在智能...
图片发送则相对复杂,因为图片需要先进行编码转换,比如由本地的图像文件转化为Base64编码,然后嵌入到消息包中。易语言提供了图像处理的API,可以读取、处理和编码图片。编码后的图片数据会作为消息的一部分,通过...
取qq窗口,,然后模拟按键,, 重点是支持图片与文字复制到剪辑板,并粘贴,,, 然后,,,自动保存上次所发内容,, 然后还有检测更新,,,, ...调用模块精易模块 ,,超级模块,,。。相信大家都有
他深知“不爱岗就会下岗,不敬业就会失业”,并将这句话转化为推动自己前行的动力。在工作中,他急用户之所急,想用户之所想,始终保持文明礼貌,提供优质服务。例如,2007年8月,他不顾长途跋涉的艰辛,及时将一批...
这个文件可能是中正568 同发 TF-582 对讲机写频软件的版本号为1.05的安装包或者更新补丁。用户需要正确安装并运行这个软件,通过USB数据线连接对讲机与电脑,进行写频操作。 5. **安全注意事项**: 在使用写频...
公司的未来增长确定性强,四维度同发力:渠道端、品牌端、技术端、产能端。公司的盈利预测与投资建议是基于公司的自有品牌快速成长叠加代工业务稳步发展,主粮板块高速扩张,具有较高的业绩弹性和增速,给予公司2023...
- **签发人**:发文字号右侧,字号同发文字号。 - **标题**:通常由作事、事由、文种组成,不超过50字,不用书名号。 - **附件**:标明标题、件数、份数,并排在正文以下日期以上。 - **注释**:排在日期下方,...
( 现代交换原理与通信网技术 (卞佳丽 着) 北京邮电大学出版社 课后答案.pdf )答:在任意的入线和出线之间建立连接,并将入线上的信息分发到出线上去。 9.分别说明什么是集中型、分配型、扩散型交换单元?什么是有向交换...