仿百度文库方案[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();
 
 
 
 
转自星辰博客:http://www.cnblogs.com/star-studio/archive/2011/12/09/2282411.html
当前,全球经济格局深刻调整,数字化浪潮席卷各行各业,智能物流作为现代物流发展的必然趋势和关键支撑,正迎来前所未有的发展机遇。以人工智能、物联网、大数据、云计算、区块链等前沿信息技术的快速迭代与深度融合为驱动,智能物流不再是传统物流的简单技术叠加,而是正在经历一场从自动化向智能化、从被动响应向主动预测、从信息孤岛向全面互联的深刻变革。展望2025年,智能物流系统将不再局限于提升效率、降低成本的基本目标,而是要构建一个感知更全面、决策更精准、执行更高效、协同更顺畅的智慧运行体系。这要求我们必须超越传统思维定式,以系统化、前瞻性的视角,全面规划和实施智能物流系统的建设。本实施方案正是基于对行业发展趋势的深刻洞察和对未来需求的精准把握而制定。我们的核心目标在于:通过构建一个集成了先进感知技术、大数据分析引擎、智能决策算法和高效协同平台的综合智能物流系统,实现物流全链路的可视化、透明化和智能化管理。这不仅是技术层面的革新,更是管理模式和服务能力的全面提升。本方案旨在明确系统建设的战略方向、关键任务、技术路径和实施步骤,确保通过系统化部署,有效应对日益复杂的供应链环境,提升整体物流韧性,优化资源配置效率,降低运营成本,并最终为客户创造更卓越的价值体验。我们致力于通过本方案的实施,引领智能物流迈向更高水平,为构建现代化经济体系、推动高质量发展提供强有力的物流保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值