在linux环境下,java零基础入门书籍怎么实现从word格式转换为pdf格式

linux系统下java实现html转word或者TXT文档,当时需要保留html排版格式 - ITeye问答
linux系统下java实现html转word或者TXT文档,当时需要保留html排版格式
比如 &p&&span style="font-family:宋体;"&&font color="#ff7a4e"&行政审批&/font&&/span&&/p&
&p&&span style="font-family:宋体;"&&&&&&&&& 特药&/span&&/p&
&p&&span style="font-family:宋体;"&&&&&&&&& 稽查&/span&&/p&
&p&&span style="font-family:宋体;"&&&&&&&&& 电子监管(国家局、省局、市县局)&/span&&/p&
&p&&span style="font-family:宋体;"&&&&&&&&& 生产信用&/span&&/p&
&p&&span style="font-family:宋体;"&&&&&&&&& 经营信用&/span&&/p&
&p&&span style="font-family:宋体;"&&&&&&&&& 器械生产&/span&&/p&
&p&&span style="font-family:宋体;"&执业药师&/span&&/p&
&p&&span style="font-family:宋体;"&邮局&/span&&/p&
&p&&span style="font-family:宋体;"&公文管理&/span&&/p&
&p&&span style="font-family:宋体;"&信息报送&/span&&/p&
&p&&span style="font-family:宋体;"&账务管理&/span&&/p&
&p&&span style="font-family:宋体;"&1、生产厂房及设备的新增与变更,相关验证是否完成。&br /&
2、此次认证的片剂、胶囊剂生产线由抗肿瘤线变更为普通固体制剂生产线,相关厂房改建和清洁的措施是否可以消除抗肿瘤产品残留可能带来的污染。&br /&
3、阿莫西林车间的废气、粉尘处理是否符合要求。&br /&
4、硫酸氨基葡萄糖氯化钠复盐此次认证车间厂房与设备是否能满足目前产量的要求。该品种曾迁至外沙202车间试生产过,请检查组核实目前该车间用于?&/span&&/p&
&p&&&/p&
引用linux系统下java实现html转word或者TXT文档,当时需要保留html排版格式
最简单的方法,把html文本原封不动的保留,想转word把扩展名改成doc,想转txt把扩展名改成txt,因为html本身是文本。
已解决问题
未解决问题java使用jacob word 转pdf -
- ITeye博客
博客分类:
查询了很多网站 知道使用jacob 可以将word 转换成
首先我自己的环境是windows xp ,office2007 ,jdk1.5;
1.先下载office2007 能另存为pdf的插件 SaveAsPDFandXPS.exe 安装
2.附件提供了jacob1.9的下载
3.这点很重要也是耗时我最久的就是jacob.dll与jacob.jar的存放位置;位置不对则会出现app.getProperty("Documents").toDispatch()这句话无法正常执行;
位置如下文件存放在jdk的jre下 例如我这边是
jacob.jar 放在 E:\jdk1.5.0_14\jre\lib\ext
jacob.dll 放在 E:\jdk1.5.0_14\jre\bin
下能正常执行;
按网上说的 放在windows\system32下则会出现错误
源代码如下:
static final int wdFormatPDF = 17;// PDF 格式
public void wordToPDF(String sfileName,String toFileName){
System.out.println("启动Word...");
long start = System.currentTimeMillis();
ActiveXComponent app =
Dispatch doc =
app = new ActiveXComponent("Word.Application");
app.setProperty("Visible", new Variant(false));
Dispatch docs = app.getProperty("Documents").toDispatch();
doc = Dispatch.call(docs,
"Open" , sfileName).toDispatch();
System.out.println("打开文档..." + sfileName);
System.out.println("转换文档到PDF..." + toFileName);
File tofile = new File(toFileName);
if (tofile.exists()) {
tofile.delete();
Dispatch.call(doc,
toFileName, // FileName
wdFormatPDF);
long end = System.currentTimeMillis();
System.out.println("转换完成..用时:" + (end - start) + "ms.");
} catch (Exception e) {
System.out.println("========Error:文档转换失败:" + e.getMessage());
} finally {
Dispatch.call(doc,"Close",false);
System.out.println("关闭文档");
if (app != null)
app.invoke("Quit", new Variant[] {});
//如果没有这句话,winword.exe进程将不会关闭
ComThread.Release();
public static void main(String[] args) {
Test d = new Test();
d.wordToPDF("E:\\321.doc", "E:\\test_321test.pdf");
(228.3 KB)
下载次数: 551
浏览 11932
浏览: 23766 次
来自: 武汉
启动Word...Exception in thread &q ...
不错,楼主给力
为什么我每次执行到Dispatch.call(doc, &qu ...2011年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。在linux环境下,java怎么实现从word格式转换为pdf格式 - ITeye问答
在linux环境下,java怎么实现从word格式转换为pdf格式;或者word格式转换为图片格式,然后通过图片转换成pdf格式。
楼主,最后你用什么办法解决的
import&& com.jacob.activeX.ActiveXC
import&& .D
import&& .V
& *&& @author&& XuMing&& Li
& *&& @version&& 1.00,&&
public&& class&& D2P&& {
&&&&&&& private&& ActiveXComponent&& wordCom&& =&&
&&&&&&& private&& Object&& wordDoc&& =&&
&&&&&&& 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&&
&&&&&&&&&&&&&&& }&& catch&& (Exception&& ex)&& {
&&&&&&&&&&&&&&&&&&&&&&& ex.printStackTrace();
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& return&&
&&&&&&& /**
&&&&&&&&& *&& 关闭word文档
&&&&&&&&& */
&&&&&&& public&& void&& closeWord()&& {
&&&&&&&&&&&&&&& //关闭word文件
&&&&&&&&&&&&&&& wordCom.invoke( "Quit ",&& new&& Variant[]&& {});
&&&&&&& /**
&&&&&&&&& *&& *&& 将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();
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& //建立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&& =&& F
&&&&&&&&&&&&&&&&&&&&&&& //是否追加打印
&&&&&&&&&&&&&&&&&&&&&&& Variant&& Append&& =&& F
&&&&&&&&&&&&&&&&&&&&&&& //打印所有文档
&&&&&&&&&&&&&&&&&&&&&&& 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();
&&&&&&&&&&&&&&& }
&&&&&&& public&& static&& void&& main(String[]&& argv)&& {
&&&&&&&&&&&&&&& D2P&& d2p&& =&& new&& D2P();
&&&&&&&&&&&&&&& //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& d2p.openWord( "c:/12.doc ");
&&&&&&&&&&&&&&& //&&&&&&&&&&&&&&&& d2p.callWordMacro( "c:/12.docc ",&& "MyWordMacro ",
&&&&&&&&&&&&&&& //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& new&& String[]&& {&& "这是调用word宏的测试程序 "&& });
&&&&&&&&&&&&&&& d2p.docToPDF( "d:/12.doc ",&& "c:/1p.ps ",&& "c:/1p.pdf ");
已解决问题
未解决问题

我要回帖

更多关于 java零基础入门书籍 的文章

 

随机推荐