仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...
第三步,使用JODConverter将office文档转换为pdf
JODConverter是一个java的OpenDucument文件转换器,可以进行许多文件格式的转换,它利用
OpenOffice来进行转换工作,它能进行以下的转换工作:
1.Microsoft Office格式转换为OpenDucument,以及OpenDucument转换为Microsoft Office
2.OpenDucument转换为PDF,Word、Excel、PowerPoint转换为PDF,RTF转换为PDF等。
它是一个开源项目。
笔者的项目是在MyEclipse下开发的。
下载最新版的jodconverter-2.2.2,把lib文件夹的包导入到你的DocConverter项目的lib文件夹内。
(假设你的项目是DocConverter)
新建DOC2PDFUtil.java
package com.iori.webapp.util;import java.io.File; import java.io.IOException;import java.net.ConnectException; import java.util.Date; 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; public class DOC2PDFUtil extends java.lang.Thread {private File inputFile;// 需要转换的文件 private File outputFile;// 输出的文件 public DOC2PDFUtil(File inputFile, File outputFile) { this.inputFile = inputFile; this.outputFile = outputFile; } public void docToPdf() { Date start = new Date(); OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100); try { connection.connect(); DocumentConverter converter = new OpenOfficeDocumentConverter(connection); converter.convert(inputFile, outputFile); } catch (ConnectException cex) { cex.printStackTrace(); } finally { // close the connection if (connection != null) { connection.disconnect(); connection = null; } } } /** * 由于服务是线程不安全的,所以……需要启动线程 */ public void run() { this.docToPdf(); } public File getInputFile() { return inputFile; } public void setInputFile(File inputFile) { this.inputFile = inputFile; } public File getOutputFile() { return outputFile; } public void setOutputFile(File outputFile) { this.outputFile = outputFile; } /** * 测试main方法 * @param args*/public static void main(String[] args) { File inputFile = new File("c://temp//333.xls"); File outputFile = new File("c://temp//333.pdf"); DOC2PDFUtil dp=new DOC2PDFUtil(inputFile,outputFile); dp.start(); } }
在DOC2PDFUtil.java,右键属性 - >Run as - >Java Application ,输出main的测试结果。
在jsp中执行
新建MyDOC2PDFTest.jsp
<%@ page import="java.io.*"%><%@ page import="com.artofsolving.jodconverter.openoffice.connection.*"%><%@ page import="com.artofsolving.jodconverter.openoffice.connection.*"%><%@ page import="com.artofsolving.jodconverter.openoffice.converter.*"%><%@ page import="com.artofsolving.jodconverter.*"%><%@ page import="java.util.*"%><%@ page import="com.iori.webapp.util.*"%> <%File inputFile = new File("c://temp//333.xls");File outputFile = new File("c://temp//333.pdf");DOC2PDFUtil dp=new DOC2PDFUtil(inputFile,outputFile);dp.start();%><!-- 下面这些html可以去掉 --><html> <head><title>Simple jsp page</title></head> <body>Place your content here</body></html>
在项目DocConverter根目录,右键属性 - >Run as - >MyEclipse Server Application
发布到之前安装的Tomcat 6.0的根目录,然后用url路径访问:Http://localhost:8080/DocConverter/MyDOC2PDFTest.jsp 进行测试。
JODConverter将office文档转换pdf,用到的代码如下:
File inputFile = new File("c://temp//333.xls");File outputFile = new File("c://temp//333.pdf"); // 链接 一个运行在8100端口的OpenOffice.org 实例OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);connection.connect(); // 创建一个converter对象并转换格式DocumentConverter converter = new OpenOfficeDocumentConverter(connection);converter.convert(inputFile, outputFile); // 关闭连接connection.disconnect();
仿百度文库方案[openoffice.org 3+swftools+flexpaper](一) 之 tomcat6.0+jdk1.6环境配置
仿百度文库方案[openoffice.org 3+swftools+flexpaper](二) 之 安装openoffice.org
仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf
转载于:https://www.cnblogs.com/star-studio/archive/2011/12/09/2282411.html
仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...相关推荐
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](八) 之 常见问题集FAQ
1.txt转换swf,发生中文乱码. txt转换为utf-8编码,或txt格式手动改为odt,上传就不会发生乱码.从根源上解决,暂时就算了...暂时不想去纠结这些鸡毛. 2.加密的pdf可能导致转换为 ...
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](七) 之 使用iText将jpg、jpeg、png转换为pdf
其他,使用iText将jpg/jpeg/png转换为pdf iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或r ...
- 百度文库实现方案 openoffice.org 3 + swftools+flexpaper+java
百度文库实现方案[openoffice.org 3+swftools+flexpaper] tomcat6.0+jdk1.6环境配置 本方案是笔者在网络上收集前人智慧,以及辛苦奋斗探索几周完成的成果. ...
- windows/linux服务器上java使用openoffice将word文档转换为PDF(亲测可用)
一. 前言 1. 开发过程中经常会使用java将office系列文档转换为PDF, 一般都使用微软提供的openoffice+jodconverter 实现转换文档. 2. openoffice既有w ...
- java openoffice 打印_java调用openoffice将office系列文档转换为PDF的示例方法
前导: 发过程中经常会使用java将office系列文档转换为PDF, 一般都使用微软提供的openoffice+jodconverter 实现转换文档. openoffice既有windows版本也 ...
- php linux OpenOffice+JODConverter+php实现将word/ppt/excel文档转换为pdf
注意点:上传文件名生成一个别名备用,在文件路径中使用英文或数组 总结下: 1.碰到的坑不少,网上资料很多不全面,就拿linux上安装openoffice来说,需要安装一堆的依赖才成功跑起来 安装的方法 ...
- View Documentation in Web Using [openoffice.org 3+swftools+flexpaper]
本方案是笔者在网络上收集前人智慧,以及辛苦奋斗探索几周完成的成果. 由于网络上,大部分资料.文章都比较零碎.重复.不够全面.寻找全面系统的介绍该方案的资料实属不易. 本文从一个只会net.jsp零基础 ...
- 【转载】FlexPaper+SWFTools 实现仿百度文库及一些小问题
网上已有很多FlexPaper仿百度文库的一些文章,园子里也有很多大牛的详细教程. 结合这次做的例子,在这里详细记录一下使用Flexpaper实现仿百度文库的效果,及自己在跟着园子里的教程做的时候,遇 ...
- FlexPaper+SWFTools 实现仿百度文库及一些小问题
网上已有很多FlexPaper仿百度文库的一些文章,园子里也有很多大牛的详细教程. 结合这次做的例子,在这里详细记录一下使用Flexpaper实现仿百度文库的效果,及自己在跟着园子里的教程做的时候,遇 ...
最新文章
- 认识人和鱼的AI,能识别美人鱼吗?阿里CVPR论文试用因果推理方法解答
- android与mysql数据库同步_android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?...
- C++ Primer 有感(类)
- 《Linux内核设计与实现》读书笔记(六)- 内核数据结构
- 旧项目适配iphone6和iphone plus
- 【二分】雪(luogu 7405)
- JavaWeb——springMVC请求数据绑定分类解析(深度好文)
- VC++中多线程学习(MFC多线程)三(线程同步包含:原子互锁、关键代码段、互斥器Mutex、Semaphores(信号量)、Event Objects(事件))
- python 原理 pdf_《深入浅出深度学习:原理剖析与Python实践》.pdf
- 安装debian 9.1后,中文环境下将home目录下文件夹改为对应的英文
- 利用React 和ant-design 搭建cnode项目的随笔
- XTU OJ String game
- #python “滑动窗口” 处理氨基酸序列
- 海思(六)如何在ubuntu20.04上搭建caffe环境
- zblog php wordpress,ZblogPHP转换WordPress教程
- php 获取windows进程,PHP获取python进程并终止它。Xamp/Windows
- 目不暇接 时尚艳丽的新款苹果手机 MAC APPLE
- DELL H61刷BIOS开启AHCI
- 使用 Vue 和 Electron 开发一款简单的 Markdown 编辑器
- C++ 数据存储类型
热门文章
- 仓库货位卡标识牌_仓储管理中的货位与标识管理
- 最详细的----->一维数组实现杨辉三角
- 我的世界服务器ess配置信息,[搬运贴]超详细的Ess基础插件介绍
- java foreach order_Java 8流中的forEach vs forEachOrdered
- 数据结构--搜索BFS
- C++中的.hpp理解
- STM32低功耗模式下GPIO如何配置最节能?
- CS131-专题7:图像特征(SIFT算法)
- 树莓派4安装Android 并 root (LineageOS 17.1)
- Linux那些事儿之我是Sysfs(7)dentry与inode