加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之

发布时间:2020-12-15 17:56:46 所属栏目:百科 来源:网络整理
导读:作者: 焱龙 出处: http://star-studio.cnblogs.com/ 申明:作者写博是为了总结经验,和以后的工作参考之用。 如需转载,请尽量保留此申明,并在文章页面明显位置给出原文连接。谢谢! 仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JOD
作者: 焱龙
出处: http://star-studio.cnblogs.com/
申明:作者写博是为了总结经验,和以后的工作参考之用。
如需转载,请尽量保留此申明,并在文章页面明显位置给出原文连接。谢谢!

仿百度文库方案[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;  
     }   
      
     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;   
             }   
         }   
     }   
      
     /**  
       * 由于服务是线程不安全的,所以……需要启动线程  
        */  
     void run() {   
         this.docToPdf();   
     }   
      
     public File getInputFile() {   
         return inputFile;   
     }   
      
     void setInputFile(File inputFile) {   
         this.inputFile = inputFile;   
     }   
      
     public File getOutputFile() {   
         return outputFile;   
     }   
      
     void setOutputFile(File outputFile) {   
         this.outputFile = outputFile;   
     }  
      
     
       * 测试main方法
        * @param args
       */
     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.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= 
     在项目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.pdf");
 
 链接 一个运行在8100端口的OpenOffice.org 实例
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
connection.connect();
 
 创建一个converter对象并转换格式
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile,outputFile);
 
 关闭连接
connection.disconnect();

复制代码

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读