支持linux和windowx的转pdf的java程序,当然服务器端需要安装不同版本的OpenOffice;
private static OpenOfficeConnection connection = null;
public static void officeToPdf(File srcFile, File destFile) {
try {
// 这里是OpenOffice的安装目录,
String sysIp ="127.0.0.1";//获取系统IP
String OOPath = "D:\\OpenOffice.org 3\\program\\soffice.exe -headless -accept=\"socket,host\=127.0.0.1,port\=8100;urp;\"";// 获取系统OpenOffice的安装目录,linux下:/opt/OpenOffice.org3/program/soffice -headless -accept\="socket,host\=127.0.0.1,port\=8100;urp;
// 启动OpenOffice的服务
Process pro = null;
try {
pro = Runtime.getRuntime().exec(OOPath);
} catch (IOException e) {
e.printStackTrace();
}
OpenOfficeConnection connection = getConnection(sysIp);
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
String fileExt = "";
String fileName = srcFile.getName();
int i = fileName.indexOf(".");
if (i != -1) {
fileExt = fileName.substring(i + 1);
}
//不同版本的office文档
if ("wps".equalsIgnoreCase(fileExt)) {
DocumentFormat df = new DocumentFormat("Kingsoft wps", DocumentFamily.TEXT, "application/wps", "wps");
DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();
DocumentFormat pdf = formatReg.getFormatByFileExtension("pdf");
converter.convert(srcFile, df, destFile, pdf);
} else if ("et".equalsIgnoreCase(fileExt)) {
DocumentFormat df = new DocumentFormat("Kingsoft et", DocumentFamily.TEXT, "application/et", "et");
DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();
DocumentFormat pdf = formatReg.getFormatByFileExtension("pdf");
converter.convert(srcFile, df, destFile, pdf);
} else if ("dps".equalsIgnoreCase(fileExt)) {
DocumentFormat df = new DocumentFormat("Kingsoft dps", DocumentFamily.TEXT, "application/dps", "dps");
DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();
DocumentFormat pdf = formatReg.getFormatByFileExtension("pdf");
converter.convert(srcFile, df, destFile, pdf);
} else {
converter.convert(srcFile, destFile);
}
String osname = System.getProperty("os.name");
if (osname.indexOf("Windows") > -1) {
connection.disconnect();
} else {
connection.connect();
}
pro.destroy();
} catch (ConnectException e) {
logger.error("officeToPdf error:", e);
} catch (Exception e) {
logger.error("officeToPdf error:", e);
}
}
private static OpenOfficeConnection getConnection(String sysIp) throws ConnectException {
if (connection == null || !connection.isConnected()) {
connection = new SocketOpenOfficeConnection(sysIp, 8100);
connection.connect();
}
return connection;
}
public static void main(String[] s) {
File office = new File("D:\\test.doc");
File pdf = new File("D:\\test.pdf");
ConvertX2PDFHelper.officeToPdf(office, pdf);
}
分享到:
相关推荐
Java使用OpenOffice转换Office文档为PDF是一种...通过以上步骤和知识点,你就可以在Java项目中实现利用OpenOffice将Office文档转换为PDF了。记住,这只是一个基础实现,实际应用中可能需要根据具体需求进行优化和调整。
文件列表中的"office2pdf-view-master"可能是一个项目仓库名,暗示了这个项目专注于将Office文档转换为PDF并使用PDF.js进行展示。项目可能包含了源代码、配置文件、示例和测试数据等资源,供开发者参考和使用。 ...
总之,OpenOffice提供了一个强大且灵活的工具集,能够轻松地将Office文档转换为PDF和HTML。开发者还可以利用Java API实现自动化转换,提高效率。无论是在日常办公还是开发项目中,了解如何使用OpenOffice进行文件...
本篇文章将详细介绍如何利用OpenOffice库在Java环境中将Word、Excel、PowerPoint等Microsoft Office文档转换为PDF格式。 首先,OpenOffice是一款开源的办公套件,它提供了一个称为UNO(Universal Network Objects)...
本教程将详细讲解如何利用OpenOffice的API和C#编程语言来实现Word、Excel和PowerPoint文档转换为PDF格式。 一、OpenOffice的API简介 OpenOffice提供了一套名为UNO(Universal Network Objects)的接口,允许开发者...
JODConverter是基于OpenOffice的Java转换库,它可以将各种Office文档转换为PDF或者其他格式。在Web项目中,你可以创建一个服务,使用JODConverter的API来调用OpenOffice服务,将上传的文档转换为HTML,然后在前端...
本文将深入探讨如何在Java环境下,利用OpenOffice技术将文档转换为Pdf格式,以解决在Windows 7开发环境中仅支持Office 2007格式的问题。 OpenOffice是一款开源的办公软件套件,它提供了与Microsoft Office兼容的...
在上述代码中,我们首先配置并启动了OpenOffice服务,然后创建了一个`OfficeDocumentConverter`实例,用于将输入流中的文档转换为HTML输出流。最后,我们停止OpenOffice服务并返回HTML内容。 在前端,你可以使用...
Java调用OpenOffice将Office系列文档转换为PDF是很多开发者需要解决的问题,本篇文章主要介绍了Java使用OpenOffice将Office系列文档转换为PDF的示例方法,具有一定的参考价值。 首先,需要了解OpenOffice的相关依赖...
本篇文章将深入探讨如何利用Java结合OpenOffice库将各种文档类型转换为PDF格式。 首先,OpenOffice是一款开源的办公套件,它支持多种文件格式,包括ODT、DOC、XLS、PPT等。OpenOffice还提供了一个名为UNO...
4. **执行转换**:通过调用OpenOffice API提供的方法,将Office文档转换为PDF格式。 5. **保存或下载PDF**:转换完成后,将生成的PDF文件保存到指定位置,或者直接提供给用户下载。 6. **关闭OpenOffice服务**:在...
2. **转换文档**:使用`DocumentConverter`将Office文档转换为PDF。例如,将一个名为“example.docx”的Word文档转换为PDF: ```java DocumentConverter converter = new LocalOfficeDocumentConverter(office...
在Java中,我们可以利用JODConverter库,这是一个基于OpenOffice的文档转换工具,它可以轻松地将Office文档转换成其他格式,如PDF。 首先,你需要在你的项目中引入JODConverter依赖。如果你使用Maven,可以在pom....
2. **文档转换**: 当用户点击在线预览时,服务器会接收到请求,使用 OpenOffice API 将 Office 文档转换为 HTML 或 PDF。转换过程中,OpenOffice 会解析文档内容,保持原始格式和样式,然后输出为网页可读的格式。 ...
标题中的“使用openoffice软件实现文件转pdf”指的是利用OpenOffice这一开源办公软件将文档转换成PDF格式。OpenOffice是一款免费且功能丰富的办公套件,它包含文字处理、电子表格、演示文稿、绘图等多个组件,可以...
- **API利用**:JavaEE服务可能通过其UNO接口与OpenOffice或LibreOffice通信,利用其内部转换引擎将Office文档转换为PDF。 5. **开发工具**: - **JavaEE环境**:为了开发这样的服务,开发者可能使用Eclipse、...
通过使用OpenOffice.org,我们可以非常方便地将各种类型的文档转换为PDF格式,这对于企业和个人都是非常实用的功能。尽管在配置开发环境和编写代码过程中可能会遇到一些挑战,但只要按照正确的步骤操作,就能顺利...
本项目提供的就是一个Java调用OpenOffice将Office文档转换为PDF的jar包。 OpenOffice API是Java中用于与OpenOffice进行通信的接口,它允许开发者在Java程序中控制OpenOffice的运行,例如打开文档、修改内容以及执行...
- 使用JODConverter将Office文档转换为PDF格式。 - 利用SWFTools将PDF文件转换为SWF格式。 - 将转换后的SWF文件嵌入到Web页面中供用户在线预览。 #### 四、总结 通过上述步骤和技术介绍,我们可以看出,使用Java...