openoffice 通过jodconverter将office转pdf,怎样才能生成的pdf中包含...
要生成的pdf中包含书签,首先需要你的doc文件里面本身包含标签。
重新编辑doc文件,加入标签,或者按照文档出版的标准,学会应用【格式和样式】特别是标题文字,不能把字号加大、居中就算是标题,必须把标题文字的【格式和样式】设置为【标题】才行。
还有那些校标题,按级别分别设置为【标题1、2、3】等等,这样转化为pdf,才会生成各章节的标签。
openoffice在word转换pdf时出现 conversion failed: could not load input ...
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.得到 XTextDocumentXComponent 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);}
openoffice3.0 word文档转pdf的时候出现乱码和重叠现象,该怎么办?...
都可以做成PDF文件,很简单实用;方法二:使用专门的转换软件,把文件转成PDF文件,选择这个虚拟打印机;方法三:用其他虚拟打印机转成PDF文件。
方法四推荐下面免费的方法试试:方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印...
如何用纯java代码实现word转pdf
几种方案: 方法一:用apache pio 读取doc文件,然后转成html文件用Jsoup格式化html文件,最后用itext将html文件转成pdf。
方法贰:使用jdoctopdf来实现,这是一个封装好的包,可以把doc转换成pdf,html,xml等格式,调用很方便 地址:中国至美.maxstocker中国/jdoctopdf/downloads.php 需要注意中文字体的写入问题。
方法三:使用jodconverter来调用openOffice的服务来转换,openOffice有个各个平台的版本,所以这种方法跟方法依一样都是跨平台的。
jodconverter的下载地址:中国至美.artofsolving中国/opensource/jodconverter 首先要安装openOffice,下载地址:中国至美.openoffice.org/download/index.html 安装完后要启动openOffice的服务,具体启动方法请自行google 方法四:效果最好的一种方法,但是需要window环境,而且速度是最慢的需要安装msofficeWord以及SaveAsPDFandXPS.exe(word的一个插件,用来把word转化为pdf) Office版本是贰00漆,因为SaveAsPDFandXPS是微软为office贰00漆及以上版本开发的插件 SaveAsPDFandXPS下载地址:中国至美.microsoft中国/zh-cn/download/details.aspx?id=漆 jacob 包下载地址:中国sourceforge.net/projects/jacob-project
2010 office怎么把pdf转成word呢?
office2010 pdf转成word方法:1、首先把PDF文件、word2010、OneNote 三个软件同时打开;2、先切换到OneNote,新建分区。
调整好PDF,让其最大化;3、从插入菜单上,选屏幕剪辑;4、切换到PDF文件窗口,选择好范围。
在弹出的对话窗口中,选择“新分区”然后点“发送到所选位置”;5、在OneNote窗口中就会出现一张刚才所选的图片,右键选择“复制图片中的文本”;6、然后切换到word窗口,右键点击粘贴选项中的 文本。
这样,所选的PDF文件中的文字信息就被识别word中来,重复以上步骤,直到所有识别完成,整个PDF就被完美的转换到word中来。
转载请注明出处51数据库 » openoffice pdf转word