zoukankan      html  css  js  c++  java
  • 仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf(转)

    原文出处:http://www.cnblogs.com/star-studio/archive/2011/12/09/2282411.html

    第三步,使用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();
  • 相关阅读:
    Python 学习日记 第七天
    Python 学习日记 第六天
    Python 学习日记 第五天
    Python 学习日记 第四天
    Redis 中的数据类型及基本操作
    Asp.net mvc 中View 的呈现(二)
    Asp.net mvc 中View的呈现(一)
    Asp.net mvc 中Action 方法的执行(三)
    Asp.net mvc 中Action 方法的执行(二)
    Asp.net mvc 中Action 方法的执行(一)
  • 原文地址:https://www.cnblogs.com/m3Lee/p/3849108.html
Copyright © 2011-2022 走看看