- 浏览: 191875 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
chmadmin:
求源码,参考下
Extjs做的一个图书管理系统(详细解析) -
wilddonkey:
lz,我现在自定义了转换器,但是如果输入为空,则自动跳过,虽然 ...
struts2-ognl.MethodFailedException: Method "setId" failed for object -
accpchf:
/** * 懒汉式, * 既有延迟加载功能又能保证线程安全, ...
J2EE面试题集锦(附答案) -
accpchf:
java编程第三题明显错误 A ab = new B(); ...
J2EE面试题集锦(附答案) -
风雨故都:
求源码。参考一下
Extjs做的一个图书管理系统(详细解析)
我的word转pdf用到了一个虚拟的打印机,安装一个Adobe Acrobat 7.0 Professional就可以了
2。配置虚拟打印机,开始--打印机和传真--添加打印机---一步一步的配置就行了。
3。点击配置的打印机右键首选项----设置----把不要发送字体到打印机取消勾选
4。下载Jacob.jar包。把jacob.jar所对应的Jacob.dll放在windows/sys32下或者jre/bin下
5。代码部分
代码
package demo; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; /* * 注意word转pdf要安装虚拟打印机,且要配置 * 使用jacob框架,把dll文件放到jre/bin目录下 */ public class WordToPdf { private ActiveXComponent wordCom = null; private Object wordDoc = null; private final Variant False = new Variant(false); private final Variant True = new Variant(true); /** * 打开word文档 * * @param filePath word文档 * @return 返回word文档对象 */ public boolean openWord(String filePath) { //建立ActiveX部件 wordCom = new ActiveXComponent("Word.Application"); try { //返回wrdCom.Documents的Dispatch Dispatch wrdDocs = wordCom.getProperty("Documents").toDispatch(); //调用wrdCom.Documents.Open方法打开指定的word文档,返回wordDoc wordDoc = Dispatch.invoke(wrdDocs, "Open", Dispatch.Method, new Object[] { filePath }, new int[1]).toDispatch(); return true; } catch (Exception ex) { ex.printStackTrace(); } return false; } /** * 关闭word文档 */ public void closeWord(boolean saveOnExit) { if (wordCom!=null) { //关闭word文件 //Dispatch.call(wordDoc, "Close", new Variant(saveOnExit)); wordCom.invoke("Quit",new Variant[]{}); //wordCom.invoke("Quit",new Variant[0]); wordCom=null; //释放在程序线程中引用的其它com,比如Adobe PDFDistiller ComThread.Release(); } } /** * 将word文档打印为PS文件后,使用Distiller将PS文件转换为PDF文件 * * @param sourceFilePath * 源文件路径 * @param destinPSFilePath * 首先生成的PS文件路径 * @param destinPDFFilePath * 生成PDF文件路径 */ public void docToPDF(String sourceFilePath, String destinPSFilePath, String destinPDFFilePath) { if (!openWord(sourceFilePath)) { closeWord(true); return; } //建立Adobe Distiller的com对象 ActiveXComponent distiller = new ActiveXComponent("PDFDistiller.PDFDistiller.1"); try { //设置当前使用的打印机,我的Adobe Distiller打印机名字为 "Adobe PDF" wordCom.setProperty("ActivePrinter", new Variant("Adobe PDF")); //设置printout的参数,将word文档打印为postscript文档。现在只使用了前5个参数,假如要使用更多的话可以参考MSDN的office开发相关api //是否在后台运行 Variant Background = False; //是否追加打印 Variant Append = False; //打印所有文档 int wdPrintAllDocument = 0; Variant Range = new Variant(wdPrintAllDocument); //输出的postscript文件的路径 Variant OutputFileName = new Variant(destinPSFilePath); Dispatch.callN((Dispatch) wordDoc, "PrintOut", new Variant[] { Background, Append, Range, OutputFileName }); System.out.println("由word文档打印为ps文档成功!"); //调用Distiller对象的FileToPDF方法所用的参数,具体内容参考Distiller Api手册 //作为输入的ps文档路径 Variant inputPostScriptFilePath = new Variant(destinPSFilePath); //作为输出的pdf文档的路径 Variant outputPDFFilePath = new Variant(destinPDFFilePath); //定义FileToPDF方法要使用adobe pdf设置文件的路径,在这里没有赋值表示并不使用pdf配置文件 Variant PDFOption = new Variant(""); //调用FileToPDF方法将ps文档转换为pdf文档 Dispatch.callN(distiller, "FileToPDF", new Variant[] { inputPostScriptFilePath, outputPDFFilePath, PDFOption }); System.out.println("由ps文档转换为pdf文档成功!"); } catch (Exception ex) { ex.printStackTrace(); } finally { closeWord(true); } } public static void main(String[] argv) { WordToPdf d2p = new WordToPdf(); d2p.docToPDF("D:\\test.doc", "D:\\test.ps", "D:\\test.pdf"); boolean success = (new File("D:\\test.ps")).delete(); if(success){ System.out.println("删除打印机文件成功"); } } }
发表评论
-
java版RC4加密解密算法
2010-10-25 11:01 3766我们的一个项目,需要解析一个用户提供的rc4加密后的文件,特 ... -
JAVA7新特性
2010-09-30 14:38 989Java7新特性 1.运行速度提高了,这个得益于Java7采用 ... -
Java Web开发(JSP、Servlet)乱码终极解决方案
2010-09-30 08:40 1477千万不要看网上那些杂七杂八的解决乱码的文章,解决乱 ... -
马士兵struts2学习笔记(详细版)
2010-09-29 15:57 171515、23_尚学堂马士兵_Struts2_模块包含 ... -
JAVA华为面试题
2010-09-29 15:49 3625这是华为Java的主要面试题目宝典。。。。真的是很有用。。。我 ... -
JVM学习笔记(四)------内存调优
2010-09-29 11:19 937首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别J ... -
JVM学习笔记(三)------内存管理和垃圾回收
2010-09-29 11:15 813JVM内存组成结构 JVM栈 ... -
JVM学习笔记(二)------Java代码编译和执行的整个过程
2010-09-29 11:10 1029Java代码编译是由Java源码编译器来完成,流程图 ... -
JVM学习笔记(一)------基本结构
2010-09-29 11:04 840从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: ... -
Java调用外部exe程序方法
2010-09-29 09:20 1133用java调用外部.exe程序的方法: public ... -
EXT+DWR+SPRING+IBATIS+ORACLE分页显示+模糊查询
2010-09-28 13:14 2078EXT代码: Ext.onReady(fun ... -
利用JSP实现的验证码
2010-09-28 08:38 761image.jsp <%@ page contentT ... -
经典的jsp分页显示
2010-09-28 08:34 744< %@ page contentType=" ... -
java类的设计技巧
2010-09-27 09:31 9141)一定将数据设计为私 ... -
Java邮件收发SMTP和POP3实例详解
2010-09-27 09:28 1826SMTP的连接和收发过程: a.建立TCP连接。 b.客户端发 ... -
谈谈java中的NaN值
2010-09-27 09:26 1040什么是NaN ?下面是我查到的结果。 Double中的 ... -
Java Jdbc查询MySQL数据库示例
2010-09-27 09:23 1745import java.sql.Connection; im ... -
Struts2 Error filterStart异常的解决方法总结
2010-09-27 09:01 943今天一位网友让polaris帮忙解决一些jqGrid的问题。在 ... -
JAVA开发编程规范
2010-09-27 08:55 878××××-××-××发布 ... -
MyEclipse实用小技巧归纳
2010-09-27 08:49 770第一步: 取消自动validati ...
相关推荐
调用OPEN office组件实现java程序的word转pdf
java编程 word转pdf wordToPdf.java jacob1.9包 包括jacob.jar jacob.dll 要注意jacob.jar jacob.dll要用同一版本的,否则会出错 内含jacob包的导入方式的txt文档
简单的java方式实现 word 转为pdf的操作,互相学习,彼此沟通。仅仅是一个小的demo,有需要的可以自行获取。。
VBA程序将Word转成PDF,可以做出WSF供Java和C程序调用。此程序调通过,实际项目上用到过,仅供参考。
网络上有很多种Word转PDF的方式(openoffice,jacob,POI),但都不是很完美,要不依赖三防包还要下载dll文件,要不转换不完美,还不支持中文,我的转换方式使用eclipse自带的swt包即可,程序引用swt的jar后直接运行
Jacob是Java和Windows下的Com桥,通过它我们可以在Java程序中调用COM组件。如果你的JDK是1.4,那你需要下载Jacob1.9的jni库才能正常运行,早期版本在JDK1.4下有些问题。
Aspose.Words17.6汉化破解版出来...Aspose.Words Product Family使用我们.NET, Java 以及Android平台API,可以帮助开发出创建,编辑,转换以及打印Word文档格式的高性能应用程序。好了,具体的破解说明下面都有介绍的。
3、在D盘的doc文件下,测试的一个abc.doc 文件,运行程序后,在该目录下回生成一个PDF 4、附上我写的DEMO,第三方包: JODConverter v2.2.1 我实现的是读取access数据库中对应WORD文件名然后到指定文件夹查找并...
java 中 word 转 pdf 示例
java 实现word,txt,excel,ppt转换pdf 1.在服务控制台,启动 openoffice 服务 安装OpenOffice成功后,您可以进入安装目录>/program/目录并运行以下命令启动OpenOffice服务: soffice -headless -accept="socket,...
JACOB 一个 Java-COM 中间件。通过这个组件你可以在 Java 应用程序中调用 COM 组件和 Win32 程序库。
整理了用java如何读取word文档,pdf文档的几种方法,含有程序
word文档转pdf最好用的java代码实例,包含示例程序和用到的jar资源包,导入项目直接可用,docx转pdf效果很好,支持水印设置,需要jdk1.7以上运行。
aspose-words-23.6 处理java程序word转pdf,没有使用时长及次数限制,文件大小不限制,可以用于word文件的编辑处理和转存等用途。 。内含demo例子,直接就能运行demo案例得到转换结果。警告:这个仅供学习研究使用,...
java Word 转 PDF格式(csdn)————程序
aspose.pdf for java 你懂的,PDF转Excel,附样例程序。在java程序中将可以pdf转为word,excle,txt等,另外还有很多API接口。
本文讲解了如何利用Java语言来实现Word以及PDF的读取操作,内含原理性知识,还有源码实现。希望会对你有所帮助。
(完整word版)Java程序设计B卷.pdf(完整word版)Java程序设计B卷.pdf(完整word版)Java程序设计B卷.pdf(完整word版)Java程序设计B卷.pdf(完整word版)Java程序设计B卷.pdf(完整word版)Java程序设计B卷.pdf(完整word版)...
java web word文件 pdf文件在线预览源码
1.1 文档转换:PDF转图片/Word/SVG/XPS/HTML/XPS/TIFF、图片转PDF 1.2 文档操作:文档创建、合并、拆分、压缩、复制;页面背景、页边距、纸张大小及方向、页面旋转、合并、缩放;表单域;页眉页脚;水印;文本列表...