OpenOfice将offic转为pdf并且在web显示
- import java.io.File;
import java.io.FileNotFoundException;import java.io.IOException;import java.net.ConnectException;import org.junit.Test;import com.artofsolving.jodconverter.DocumentConverter;import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;publicclassOfficeChangeToPDF{/*** 将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, 则表示转换失败*/publicint office2PDF(String sourceFile,String destFile){try{File inputFile =newFile(sourceFile);if(!inputFile.exists()){return-1;// 找不到源文件, 则返回-1}// 如果目标路径不存在, 则新建该路径File outputFile =newFile(destFile);if(!outputFile.getParentFile().exists()){outputFile.getParentFile().mkdirs();}StringOpenOffice_HOME="C:\\Program Files (x86)\\OpenOffice 4";// 这里是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 8100OpenOfficeConnection connection =newSocketOpenOfficeConnection("127.0.0.1",8100);connection.connect();// convertDocumentConverter converter =newOpenOfficeDocumentConverter(connection);converter.convert(inputFile, outputFile);// close the connectionconnection.disconnect();// 关闭OpenOffice服务的进程pro.destroy();return0;}catch(FileNotFoundException e){e.printStackTrace();return-1;}catch(ConnectException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}return1;}@Testpublicvoid toPDF(){int office2pdf = office2PDF("C:\\Users\\HP\\Desktop\\xx.doc","C:\\Users\\HP\\Desktop\\xx.PDF");System.out.println(office2pdf);}}
2、要实现在web端预览pdf需要pdfobject插件,然后使用如下代码
<!DOCTYPE html><html><head><title>网页嵌入pdf浏览器</title><scripttype="text/javascript"src="./js/pdfobject.min.js"></script><styletype="text/css">.pdfobject-container { height:600px;}.pdfobject { border:1px solid #666; }</style></head><body><divid="example1"></div><scripttype="text/javascript">PDFObject.embed("./pdf/ELM-Chinese-Brief.pdf","#example1");</script></body></html>
附件列表
OpenOfice将offic转为pdf并且在web显示的更多相关文章
- 把上传过来的多张图片拼接转为PDF的实现代码
以下是把上传过来的多张图片拼接转为PDF的实现代码,不在本地存储上传上来的图片,下面是2中做法,推荐第一种,把pdf直接存储到DB中比较安全. 如果需要在服务器上存储客户端上传的文件时,切记存储文件时 ...
- 将doc文件批量转为pdf文件
需要将不少doc文件转为pdf,WPS带有这种功能,但是鼠标点击次数太多以后整个人都变得很烦躁 用了一下午去搜这方面的工具软件,找到若干.有一些免费,有一些试用的,但总归就找到一个真正能用,虽说生成的 ...
- [置顶] 读取pdf并且在web页面中显示
读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType = "applicationpdf"; ...
- 使用OpenOffice.org将各类文档转为PDF
http://blog.zhaojie.me/2010/05/convert-document-to-pdf-via-openoffice.html ————————————————————————— ...
- java转pdf(html转为pdf),解决中文乱码,标签不规范等问题
第一步,下载jar包以及建对应的文件夹.注意pd4ml的jar要选择pro版本.然后建一个pd4fonts.properties 里面对应的字体. SimSun = simsun.ttf 前面为变量名 ...
- [办公自动化]如何将PPT转为PDF,免费
同事需要把PPT格式的文档转为PDF.她没有安装adobe acrobat,安装了微软office 2007. 这个其实可以通过安装微软官方插件来解决.无需额外费用. 所需软件为: 2007 Micr ...
- Java 将Word转为PDF、PNG、SVG、RTF、XPS、TXT、XML
同一文档在不同的编译或阅读环境中,需要使用特定的文档格式来打开,通常需要通过转换文档格式的方式来实现.下面将介绍在Java程序中如何来转换Word文档为其他几种常见文档格式,如PDF.图片png.sv ...
- Java 基于Spire.Cloud.Excel 将Excel转为PDF
Spire.Cloud.Excel Sdk 提供GeneralApi接口和WorkbookApi接口,支持将本地Excel和云端Excel文档转换为ODS, PDF, XPS, PCL, PS等格式. ...
- Java 将Excel转为PDF
本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括: 将整个工作簿转为PDF 将指定工作表转为PDF 使用工具:Free Spire.XLS for Java (免费版) Ja ...
随机推荐
- hibernate 返回对象指定属性,需要返回的列,可以直接返回 对象属性
// hibernate 返回对象指定属性,需要返回的列,可以直接返回 对象属性 @Override public TeamPlan getTeamPlanByBaoMingId(String bao ...
- 如何卸载CentOS自带的apache
查看安装的组件: rpm -qa | grep httpd 如果预装有apache,那么会显示像httpd-2.2.3-22.el5.centos这种的组件名. 卸载组件: rpm -e httpd- ...
- shell中source与sh区别
shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法 ...
- [leetcode-537-Complex Number Multiplication]
Given two strings representing two complex numbers. You need to return a string representing their m ...
- AJAX数据请求
ajax数据请求需要四个步骤:(请求文本内容) 1.创建XMLHttpRequest对象: 2.打开与服务起的链接: 3.发送给服务器: 4.响应就绪. <!DOCTYPE html> & ...
- MySQL的四种事务隔离级别
本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB 一.事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做 ...
- input的文件上传图片
<img id="headIMG" src="img/header_default.jpg"/> <input type="file ...
- ReactiveSwift源码解析(七) Signal的CombineLatest的代码实现
本篇博客我们就来聊一下combineLatest()的使用以及具体的实现方式.在之前的<iOS开发之ReactiveCocoa下的MVVM>的博客中我们已经聊过combineLatest( ...
- 如何查看安装的sql server是什么版本
方法 1:通过使用 SQL Server Management Studio 中的对象资源管理器连接到服务器.连接对象资源管理器后,它将显示版本信息(在括号中),以及用于连接到 SQL Server ...
- hadoop全分布式环境搭建
本文主要介绍基本的hadoop的搭建过程.首先说下我的环境准备.我的笔记本使用的是Windows10专业版,装的虚拟机软件为VMware WorkStation Pro,虚拟机使用的系统为centos ...