jacob转pdf linux,Java 使用jacob实现doc转pdf(附带其他方法分析)
关于doc转pdf的方法根据本人的查询主要有四种:
1.使用Jacob,但是使用jacob中要依赖Office,部分博文中还会依赖插件,如SaveAsPDFandXPS.exe。但是也发现不需要依赖Office,可以使用wps、pdfcreator,在使用wps的时候还不需要安装插件(注意:wps有linux版,office到现在为止还没有linux版)。
2.OpenOffice,可以结合Jodconverter开源框架和OpenOffice.org办公软件,具有跨平台的优点,转化速度快,但是部分office的格式似乎不支持。
3.Adobe Acrobat + jacob,这个用到什么虚拟打印机,和微软的一起使用效果比较好。(这个我不太懂)
4.Jcom + Adobe Acrobat ,会用到IDispatch。
方法3,4好像都依赖office。
我使用的是jacob,需要jacob.jar来调用activex控件,本机需安装WPS,当然使用pdfcreator的话,就要安装它了。
还需要jacob.jar以及jacob.dll 请看附件
jacob.dll 需要放置在系统system32下,如果系统是c盘:C://windows/system32/下面
我是把jacob.dll放在类似这样的目录下,D:\JDK\jdk1.8.0_05\jre\bin。
public class Wps implements Converter { //接口中只有一个方法,不过添加了同步
public synchronized boolean convert(String word, String pdf) {
boolean boo = wps2pdf(word, pdf);
return boo;
}
public static boolean wps2pdf(String word,String pdf){
File pdfFile = new File(pdf);
ActiveXComponent wps = null;
Dispatch doc = null;
long start = System.currentTimeMillis();
try {
wps = new ActiveXComponent("kwps.application");
wps.setProperty("visible", new Variant(false));
Dispatch docs = wps.getProperty("Documents").toDispatch();
// doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
// new Object[]{word, new Variant(false),new Variant(true)},
// new int[1]).toDispatch();
doc = Dispatch.call(docs, "Open", word, false, true).toDispatch();
if(pdfFile.exists()){
pdfFile.delete();
}
// Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[]{pdf,new Variant(17)}, new int[1]);
Dispatch.call(doc, "SaveAs", pdf, 17);
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end-start) + "ms.");
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("转化出错:" + ex.getMessage());
return false;
} finally {
Dispatch.call(doc, "Close", false);
System.out.println("关闭WPS");
if (wps != null) {
wps.invoke("Quit", new Variant[]{});
}
}
return true;
}
public static void main(String[] args) {
new Wps().convert("E:/tmp/2016/testItext/typ_doc.doc", "E:/tmp/2016/testItext/typ_doc_wpsBycall.pdf");
}
}
可以参考的资料:
jacob:用call方法,需装office
用invoke方法,需装office,要安装插件
调用WPS或pdfcreator的com接口实现doc转pdf(相对比较好)
关于jacob介绍比较详细(包括类,方法)
jacob中代码及说明:
jcom:
openoffice:
附件中包含jacob-1.18的jar、dll、api_docs
jacob转pdf linux,Java 使用jacob实现doc转pdf(附带其他方法分析)相关推荐
- Aspose.PDF for Java系列8-转化HTML为PDF
Aspose.PDF for Java系列8-转化HTML为PDF 转化HTML为PDF 主要分为以下步骤: 创建一个HtmlLoadOptions类. 实例化Document对象. 调用Docume ...
- java 生成 pdf linux,java ppt在线转pdf linux
java ppt在线转pdf linux [2021-01-31 12:42:59] 简介: php中ppt转pdf的方法:首先配置组件服务,并在后台运行OpenOffice软件:然后配置PHP扩展 ...
- java操作office和pdf文件java读取word,excel和pdf文档内容
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- Java实现pdf转tex_使用Free Spire.PDF在Java程序中创建和转换PDF文件
在这篇文章中,我将举例说明如何创建一个包含标题,段落,图像,编号列表和表格的简单的PDF文件,以及如何使用Free Spire.PDF将PDF转换为其他文件格式. 概述 Free Spire.PDF ...
- php读取doc pdf文件,PHP读取创建txt,doc,xls,pdf类型文件
PHP读取或者创建txt,doc,xls,pdf各个类型文件的方法. php读取(文本.txt)文件: 一般是使用fopen.fgets的方法,例如: $fp=fopen('文件名.txt','r') ...
- python win32转pdf 横版竖版_Python实现doc转化pdf
Python实现doc转化pdf python源码实现doc转化pdf #-*- coding:utf-8 -*- # doc2pdf.py: python script to convert doc ...
- java中调用js_java编程中实现调用js方法分析
本文实例讲述了java编程中实现调用js方法.分享给大家供大家参考,具体如下: /* * 加载脚本引擎,并在java中调用js方法 */ public void test2() { ScriptEng ...
- java中 jacob作用_【JAVA】JACOB使用简介
它允许在java中调用com接口自动组件,它使用JNI(本地调用程序)来进行本地调用COM库.它可运行在x86和支持32位和64位Java虚拟机 X64的环境. 测试源码包: 密码: ej9u JAC ...
- java修改文件名_Java实现简单修改文件名的方法分析
本文实例讲述了Java实现简单修改文件名的方法.分享给大家供大家参考,具体如下: 今天帮朋些个网站,做到商品上传的时候需要给文件重新设置名称,以前也做过类的功能,只是没有保存忘了,为了避免以后再重新找 ...
- java 获取凌晨时间戳_Java获取凌晨时间戳的方法分析
本文实例讲述了Java获取凌晨时间戳的方法.分享给大家供大家参考,具体如下: 这两天有一个需求是查询用户匹配的推荐信息,包含一个有效时间段,以天为单位,0时0分0秒这种. 通常java中有两种方案: ...
最新文章
- 【CVPR2020】可微分的NAS方法汇总
- 以比特币现金(BCH)为核心的慈善经济体系革新业态
- python的input()函数与getpass标准库
- 京东方网络推广外包将为三星提供OLED 屏幕可造成韩国显示产业动荡
- L3-021 神坛(极角排序求三角形最小面积)
- 【干货】马化腾亲身分享:腾讯兵法教你做一款高口碑的产品
- java开发 时间类型的转换
- 【4】SCN-Feign远程调用
- Json学习总结(6)——Fastjson远程代码执行漏洞
- database如何管理超过4GB的文件
- IDEA---SVN安装及配置
- windows - 更改用户账户名称(windows10)
- 蓝桥杯嵌入式旧版子驱动问题-keil5下载卡死解决方法
- App Store 上架审核指北【翻译】
- Oracle中国区管理层变更史
- 为知笔记导入html,为知笔记导入印象笔记
- 学生用台灯什么光对眼睛好?开学季精选真正适合孩子的护眼台灯
- Emmagee—开源Android性能测试工具
- 计算机专业测试题选择题,计算机专业测试试习题及答案.docx
- 用Photoshop制作2寸照片方法