`
xlxin
  • 浏览: 16243 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用openoffice软件将office文档转换成pdf

阅读更多
支持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);
	}
0
0
分享到:
评论
2 楼 xlxin 2014-12-22  
慨当以慷 写道
openoffice 跟微软不兼容   转换为出现格式错乱!

你有什么好的方法推荐吗?
1 楼 慨当以慷 2014-06-26  
openoffice 跟微软不兼容   转换为出现格式错乱!

相关推荐

    Java用OpenOffice将office转换为PDF

    Java使用OpenOffice转换Office文档为PDF是一种...通过以上步骤和知识点,你就可以在Java项目中实现利用OpenOffice将Office文档转换为PDF了。记住,这只是一个基础实现,实际应用中可能需要根据具体需求进行优化和调整。

    office文档通过openoffice或者microsoft多线程转换成pdf文档并通过pdfjs显示

    文件列表中的"office2pdf-view-master"可能是一个项目仓库名,暗示了这个项目专注于将Office文档转换为PDF并使用PDF.js进行展示。项目可能包含了源代码、配置文件、示例和测试数据等资源,供开发者参考和使用。 ...

    OpenOffice转换Office文档为PDF、HTML

    总之,OpenOffice提供了一个强大且灵活的工具集,能够轻松地将Office文档转换为PDF和HTML。开发者还可以利用Java API实现自动化转换,提高效率。无论是在日常办公还是开发项目中,了解如何使用OpenOffice进行文件...

    Java利用OpenOffice将word等office文档转换成PDF(附件在最后)

    本篇文章将详细介绍如何利用OpenOffice库在Java环境中将Word、Excel、PowerPoint等Microsoft Office文档转换为PDF格式。 首先,OpenOffice是一款开源的办公套件,它提供了一个称为UNO(Universal Network Objects)...

    openoffice的C#应用各种文档格式转换pdf

    本教程将详细讲解如何利用OpenOffice的API和C#编程语言来实现Word、Excel和PowerPoint文档转换为PDF格式。 一、OpenOffice的API简介 OpenOffice提供了一套名为UNO(Universal Network Objects)的接口,允许开发者...

    web项目使用OpenOffice实现前端在线预览office、pdf等文档源码

    JODConverter是基于OpenOffice的Java转换库,它可以将各种Office文档转换为PDF或者其他格式。在Web项目中,你可以创建一个服务,使用JODConverter的API来调用OpenOffice服务,将上传的文档转换为HTML,然后在前端...

    OpenOffice转换成Pdf

    本文将深入探讨如何在Java环境下,利用OpenOffice技术将文档转换为Pdf格式,以解决在Windows 7开发环境中仅支持Office 2007格式的问题。 OpenOffice是一款开源的办公软件套件,它提供了与Microsoft Office兼容的...

    web项目使用OpenOffice实现前端在线预览office、pdf等文档源码.rar

    在上述代码中,我们首先配置并启动了OpenOffice服务,然后创建了一个`OfficeDocumentConverter`实例,用于将输入流中的文档转换为HTML输出流。最后,我们停止OpenOffice服务并返回HTML内容。 在前端,你可以使用...

    java调用openoffice将office系列文档转换为PDF的示例方法

    Java调用OpenOffice将Office系列文档转换为PDF是很多开发者需要解决的问题,本篇文章主要介绍了Java使用OpenOffice将Office系列文档转换为PDF的示例方法,具有一定的参考价值。 首先,需要了解OpenOffice的相关依赖...

    Java使用open office实现各种文档转pdf

    本篇文章将深入探讨如何利用Java结合OpenOffice库将各种文档类型转换为PDF格式。 首先,OpenOffice是一款开源的办公套件,它支持多种文件格式,包括ODT、DOC、XLS、PPT等。OpenOffice还提供了一个名为UNO...

    OpenOffice office转pdf需要的jar

    4. **执行转换**:通过调用OpenOffice API提供的方法,将Office文档转换为PDF格式。 5. **保存或下载PDF**:转换完成后,将生成的PDF文件保存到指定位置,或者直接提供给用户下载。 6. **关闭OpenOffice服务**:在...

    Java代码实现下载office文档通过openoffice转成pdf给前端预览-完成源码

    2. **转换文档**:使用`DocumentConverter`将Office文档转换为PDF。例如,将一个名为“example.docx”的Word文档转换为PDF: ```java DocumentConverter converter = new LocalOfficeDocumentConverter(office...

    Java使用OpenOffice将word转换为pdf文件

    在Java中,我们可以利用JODConverter库,这是一个基于OpenOffice的文档转换工具,它可以轻松地将Office文档转换成其他格式,如PDF。 首先,你需要在你的项目中引入JODConverter依赖。如果你使用Maven,可以在pom....

    openoffice实现office在线预览

    2. **文档转换**: 当用户点击在线预览时,服务器会接收到请求,使用 OpenOffice API 将 Office 文档转换为 HTML 或 PDF。转换过程中,OpenOffice 会解析文档内容,保持原始格式和样式,然后输出为网页可读的格式。 ...

    使用openoffice软件实现文件转pdf

    标题中的“使用openoffice软件实现文件转pdf”指的是利用OpenOffice这一开源办公软件将文档转换成PDF格式。OpenOffice是一款免费且功能丰富的办公套件,它包含文字处理、电子表格、演示文稿、绘图等多个组件,可以...

    一个JavaEE服务,将Office文档转换为PDF,格式兼容性好

    - **API利用**:JavaEE服务可能通过其UNO接口与OpenOffice或LibreOffice通信,利用其内部转换引擎将Office文档转换为PDF。 5. **开发工具**: - **JavaEE环境**:为了开发这样的服务,开发者可能使用Eclipse、...

    使用OpenOffice.org将各类文档转为PDF

    通过使用OpenOffice.org,我们可以非常方便地将各种类型的文档转换为PDF格式,这对于企业和个人都是非常实用的功能。尽管在配置开发环境和编写代码过程中可能会遇到一些挑战,但只要按照正确的步骤操作,就能顺利...

    java调用openOffice转换office为pdf的jar包

    本项目提供的就是一个Java调用OpenOffice将Office文档转换为PDF的jar包。 OpenOffice API是Java中用于与OpenOffice进行通信的接口,它允许开发者在Java程序中控制OpenOffice的运行,例如打开文档、修改内容以及执行...

    java将office文档pdf文档转换成swf文件在线预览

    - 使用JODConverter将Office文档转换为PDF格式。 - 利用SWFTools将PDF文件转换为SWF格式。 - 将转换后的SWF文件嵌入到Web页面中供用户在线预览。 #### 四、总结 通过上述步骤和技术介绍,我们可以看出,使用Java...

Global site tag (gtag.js) - Google Analytics