javaoffice转pdf文件|java实现office到pdf的方法有哪些

javaoffice转pdf文件|java实现office到pdf的方法有哪些的第1张示图

1. java如何将word文件转成PDF文件

用Java内嵌袭iText生成PDF文档需要5个步骤:①建立com.lowagie.text.Document对象的实例。Document document = new Document();②建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。PDFWriter.getInstance(document, new FileOutputStream("Helloworld.PDF"));③打开文档。document.open();④向文档中添加内容。document.add(new Paragraph("Hello World"));⑤关闭文档。document.close();通过上面的5个步骤,就能产生一个Helloworld.PDF的文件,文件内容为"Hello World"。

2. java使用openoffice将word转换为pdf的问题

可以试抄试spire.doc for java,效果还是袭不错的

importcom.spire.doc.*;publicclassWordtoPDF{publicstaticvoidmain(String[]args){//加载word示例文档Documentdocument=newDocument();document.loadFromFile("Sample.docx");//保存结果文件document.saveToFile("out/toPDF.pdf",FileFormat.PDF);}}

3. java中怎么将word转pdf

4. 如何用纯java代码实现word转pdf

1:用apache pio 读取doc文件,然后转成html文件用Jsoup格式化html文件,最后用itext将html文件转成pdf。

2:使用jdoctopdf来实现,这是一个封装好的包,可以把doc转换成pdf,html,xml等格式,调用很方便。

3:地址http://www.maxstocker.com/jdoctopdf/downloads.php

需要注意中文字体的写入问题。

4:使用jodconverter来调用openOffice的服务来转换,openOffice有个各个平台的版本,所以这种方法跟方法1一样都是跨平台的。

jodconverter的下载地址:http://www.artofsolving.com/opensource/jodconverter

首先要安装openOffice,下载地址:office.org/download/index.html" target="_blank">http://www.openoffice.org/download/index.html

5:安装完后要启动openOffice的服务,具体启动方法请自行google。

6:效果最好的一种方法,但是需要window环境,而且速度是最慢的需要安装msofficeWord以及SaveAsPDFandXPS.exe(word的一个插件,用来把word转化为pdf)

7:Office版本是2007,因为SaveAsPDFandXPS是微软为office2007及以上版本开发的插件。

8:SaveAsPDFandXPS下载地址:microsoft.com/zh-cn/download/details.aspx?id=7" target="_blank">http://www.microsoft.com/zh-cn/download/details.aspx?id=7。

9:需要转换的工具 ,看你是linux还是word 。word还好不需要安装。linux就麻烦了。

5. java使用jodconverter包实现office转pdf的时候,报错文件格式错误是为什么啊

1 有几种原因可以参考一下:1)从数据库读取出来的内容 与 写死的文件名是否 物理一致,即是否是其他编码。2)注意从数据库读取出来的字符串是否在前后有多余的空格,即验证其长度3)查找物理位置上的文件是否真的存在。4) 是否能够连接到soffice上,soffice是否启动了多次。5) 我曾经遇到的问题是:在应用程序中写死的和从数据库读取的一样,但在系统磁盘上所保存的就不是这个文件名,而是某种编码的字符。正确代码如下;* 将Office文档转换为PDF. 运行该函数需要用到OpenOffice, OpenOffice下载地址为 * http://www.openoffice.org/ * * <pre> * 方法示例: * String sourcePath = "F:\\office\\source.doc"; * String destFile = "F:\\pdf\\dest.pdf"; * Converter.office2PDF(sourcePath, destFile); * </pre> * * @param sourceFile * 源文件, 绝对路径. 可以是Office2003-2007全部格式的文档, Office2010的没测试. 包括.doc, * .docx, .xls, .xlsx, .ppt, .pptx等. 示例: F:\\office\\source.doc * @param destFile * 目标文件. 绝对路径. 示例: F:\\pdf\\dest.pdf * @return 操作成功与否的提示信息. 如果返回 -1, 表示找不到源文件, 或url.properties配置错误; 如果返回 0, * 则表示操作成功; 返回1, 则表示转换失败 */ public static int office2PDF(String sourceFile, String destFile) { try { File inputFile = new File(sourceFile); if (!inputFile.exists()) { return -1;// 找不到源文件, 则返回-1 } // 如果目标路径不存在, 则新建该路径 File outputFile = new File(destFile); if (!outputFile.getParentFile().exists()) { outputFile.getParentFile().mkdirs(); } String OpenOffice_HOME = "D:\\Program Files\\OpenOffice.org 3";//这里是OpenOffice的安装目录, 在我的项目中,为了便于拓展接口,没有直接写成这个样子,但是这样是绝对没问题的 // 如果从文件中读取的URL地址最后一个字符不是 '\',则添加'\' if (OpenOffice_HOME.charAt(OpenOffice_HOME.length() – 1) != '\\') { OpenOffice_HOME += "\\"; } // 启动OpenOffice的服务 String command = OpenOffice_HOME + "program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\""; Process pro = Runtime.getRuntime().exec(command); // connect to an OpenOffice.org instance running on port 8100 OpenOfficeConnection connection = new SocketOpenOfficeConnection( "127.0.0.1", 8100); connection.connect(); // convert DocumentConverter converter = new OpenOfficeDocumentConverter( connection); converter.convert(inputFile, outputFile); // close the connection connection.disconnect(); // 关闭OpenOffice服务的进程 pro.destroy(); return 0; } catch (FileNotFoundException e) { e.printStackTrace(); return -1; } catch (ConnectException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return 1; }

6. 如何用纯java代码实现word转pdf

几种方案:方法来一:用apache pio 读取doc文件源,然后转成html文件用Jsoup格式化html文件,最后用itext将html文件转成pdf。方法2:使用jdoctopdf来实现,这是一个封装好的包,可以把doc转换成pdf,html,xml等格式,调用很方便地址:需要注意中文字体的写入问题。方法3:使用jodconverter来调用openOffice的服务来转换,openOffice有个各个平台的版本,所以这种方法跟方法1一样都是跨平台的。jodconverter的下载地址:首先要安装openOffice,下载地址:安装完后要启动openOffice的服务,具体启动方法请自行google方法4:效果最好的一种方法,但是需要window环境,而且速度是最慢的需要安装msofficeWord以及SaveAsPDFandXPS.exe(word的一个插件,用来把word转化为pdf)Office版本是2007,因为SaveAsPDFandXPS是微软为office2007及以上版本开发的插件SaveAsPDFandXPS下载地址:jacob 包下载地址:

7. java word转pdf

可以试试spire.doc for java转换Word到PDF

8. java实现office到pdf的方法有哪些

基本上两种:DOM调用,调用office自身方法。第三方插件或者包:比如福鑫的PDF SDK,openoffice 转换word到PDF。这两内种比较来说:1、DOM调用性容能最低,同时只能在WINDOWS下调(MS office是WINDOWS的),但格式支持较好,转换后格式不会丢失(字体样式之类)。2、第三方调用性能较高,但格式支持不如DOM。代码很长的。。。。你网络下openoffice转PDF,DOM调用前端好做点,JS转PDF,后端你要JAVA调本地DOM然后转

9. 如何用纯java代码实现word转pdf

几种方案:方法一:用apache pio 读取doc文件,然后转成html文件用Jsoup格式化html文件,最后用itext将html文件转成pdf。方法2:使用jdoctopdf来实现,这是一个封装好的包,可以把doc转换成pdf,html,xml等格式,调用很方便地址:http://www.maxstocker.com/jdoctopdf/downloads.php需要注意中文字体的写入问题。方法3:使用jodconverter来调用openOffice的服务来转换,openOffice有个各个平台的版本,所以这种方法跟方法1一样都是跨平台的。jodconverter的下载地址:http://www.artofsolving.com/opensource/jodconverter首先要安装openOffice,下载地址:http://www.openoffice.org/download/index.html安装完后要启动openOffice的服务,具体启动方法请自行google方法4:效果最好的一种方法,但是需要window环境,而且速度是最慢的需要安装msofficeWord以及SaveAsPDFandXPS.exe(word的一个插件,用来把word转化为pdf)Office版本是2007,因为SaveAsPDFandXPS是微软为office2007及以上版本开发的插件SaveAsPDFandXPS下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=7jacob 包下载地址:http://sourceforge.net/projects/jacob-project/

10. java 使用 openoffice 将office文件转PDF的必备条件

OpenOffice java api:简单的说就是利用java程序可以操作OpenOffice的所有功能,比如创建doc文档,插入文字,设置文字格式等等。 1. OpenOffice 给程序员提供了一个叫UNO (UniversalNetwork Objects)的组件技术.我理解的UNO: OpenOffice 类似于web程序中的服务器,程序员写的代码类似于客户端,利用UNO提供的接口和服务去完成对OpenOffice文档的操作。所以写程序首先要搭建 UNO环境:1. 下载 OpenOffice2.复制UNO提供的jar包: unoil.jar, java_uno.jar, juh.jar, jurt.jar, ridl.jar, unoloader.jar. (ps: 安装了SDK之后在文件夹找)到自己的工程中,引入它们。3. 下载文档:DevelopersGuide.pdf. 4. 安装了SDK后,重新启动一下机器,然后就可以按照 DevelopersGuide 来学习 UNO 编程了。5. 需要ava 环境。补充: 安装了SDK后, java, c++帮助文档,样例程序,其他关于sdk的信息 都放在本地openOffice安装路径一个叫sdk目录下面,enjoy it !总结一下已经实现的功能和碰到的问题汇总:1. 首先要得到远程office组件的上下文.通过:com.sun.star.uno.XComponentContext xContext = com.sun.star.comp.helper.Bootstrap.bootstrap();得到,如果OpenOffice安装路径不是在工程的路径下面(我自己猜的), 就会报:com.sun.star.comp.helper.BootstrapException: no office executable found!解决办法: 黑其源代码, 看了源代码就会发现其实OpenOffice是在寻找本地的soffice的shell文件,所以弄个变量来保存soffice在系统中的路径,重新写一 个Bootstrap就可以了。详细请参照:论坛 。 2. 得到 XMultiComponentFactory (ComponentFactory 工厂)com.sun.star.lang.XMultiComponentFactory xMCF = xContext.getServiceManager(); 3. 得到各种组件可以通过下面代码:// docType 是 与 soffice 同目录下面的OpenOffice的其他shell文件,swrite等等 protected XComponent newDocComponent(String docType) throws java.lang.Exception { String loadUrl = "private:factory/" + docType; mxRemoteServiceManager = this.getRemoteServiceManager(); Object desktop = mxRemoteServiceManager.createInstanceWithContext( "com.sun.star.frame.Desktop", mxRemoteContext); XComponentLoader xComponentLoader = (XComponentLoader) UnoRuntime .queryInterface(XComponentLoader.class, desktop); PropertyValue[] loadProps = new PropertyValue[0]; return xComponentLoader.loadComponentFromURL(loadUrl, "_blank", 0, loadProps); }4.得到 XTextDocument XComponent xEmptyWriterComponent = newDocComponent("swriter"); XTextDocument mxDoc = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, xEmptyWriterComponent);5. 得到一个文档的引用XText mxDocText = mxDoc.getText();6. 得到文档的属性列表 XPropertySet mxDocProps = (XPropertySet) UnoRuntime.queryInterface( XPropertySet.class, mxDoc);7. 建立光标,用来插入新的内容。XTextCursor mxDocCursor = mxDocText.createTextCursor(); XSentenceCursor xSentenceCursor = (XSentenceCursor) UnoRuntime .queryInterface(XSentenceCursor.class, mxDocCursor); XWordCursor xWordCursor = (XWordCursor) UnoRuntime.queryInterface( XWordCursor.class, mxDocCursor);8.得到光标属性列表 XPropertySet xCursorProps = (XPropertySet) UnoRuntime .queryInterface(XPropertySet.class, mxDocCursor);9.设置插入文字格式 xCursorProps.setPropertyValue("CharFontName", "宋体"); xCursorProps.setPropertyValue("CharWeight", new Float(FontWeight.BOLD)); xCursorProps.setPropertyValue("CharHeight", new Float(10.5)); // 居中显示 xCursorProps.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.CENTER);10.在该光标处插入信息mxDocText.insertString(xSentenceCursor, “Hello World", true);11. 保存的关键代码 protected void storeDocComponent(XComponent xDoc, String storeUrl) throws java.lang.Exception { XStorable xStorable = (XStorable) UnoRuntime.queryInterface( XStorable.class, xDoc); PropertyValue[] storeProps = new PropertyValue[1]; storeProps[0] = new PropertyValue(); storeProps[0].Name = "FilterName"; storeProps[0].Value = "MS Word 97"; openOfficeJavaLogger.debug("… store \"" + xDoc.toString() + "\" to \"" + storeUrl + "\"."); xStorable.storeAsURL(storeUrl, storeProps); }

未经允许不得转载:山九号 » javaoffice转pdf文件|java实现office到pdf的方法有哪些

赞 (0)