实现WORD文档、PDF文档在线预览:具体实现流程

实现WORD文档、PDF文档在线预览:具体实现流程

How to publish almost any document (word, excel, ..) to the web using FlexPaper ?

 

      之前在网上查找word文档在线预览的功能,类型邮箱中的文档预览,大多数的实现原理是使用FlexPaper来显示,有一个问题是FlexPaper 只支持将swf的文件,所有总是要先在本地把文档转换成pdf再转换成swf上传到服务器中,这显然不符合实际的需求,因为这对用户来说实在是太麻烦了。。。 即使是转换格式也是要在服务器端自动完成。

 

      Making documents available in the browser can be difficult when they are saved in many different formats. There are a number of products available that offer this service although many of them do this by simply using open source products that are available for free for you to use.

      One such open source product that can be used as a conversion engine is OpenOffice. This article describes how to use OpenOffice together with FlexPaper to display any format supported by OpenOffice directly in the browser.    

    

 

  •    使用SUN公司(,貌似现在是oracle的了,oracle又送给了apache组织)的Openoffice完成office(Word,Excel,Powerpoint)向pdf文档转化

1,将目录下的所有DOC格式的文件转化成PDF格式的文件
java -jar lib/jodconverter-cli-2.2.0.jar -f pdf *.doc
java -jar JConverterCommand.jar -f pdf F:\*.doc

2,转换制定的文件
java -jar lib/jodconverter-cli-2.2.0.jar document.doc document.pdf
java -jar JConverterCommand.jar c:\aaa.doc c:\aaa.pdf

介绍如下:

OpenOffice.org具有一个鲜为人知的特性就是其能够作为一个服务来运行,而这种能力具有一定的妙用。举例来说,你可以把openoffice.og变成一个转换引擎,利用这种转换引擎你可以通过网络接口或命令行工具对文件的格式进行转换,JODConverter可以帮助你实现OpenOffice.org的这种文件转换功能。

为了将OpenOffice.org作为一个转换引擎,你必须以服务的方式将它启动,使它在某个特定的端口监听连接,在Linux平台你可以用如下的命令启动openoffice.org:
soffice -headless -accept=”socket,port=8100;urp;”
在Windows平台, 使用如下命令:
“C:\Program Files\OpenOffice.org 3\program\soffice” -accept=”socket,port=8100;urp;”

JODConverter是基于java,你需要安装1.4或更高版本的java运行环境。下载最新版本的jodconverter-tomcat-x.x.x.zip,解压到某个目录,就可以启动 JODConverter
sh jodconverter-tomcat-2.2.2/bin/startup.sh
在浏览器打开http://localhost:8080/converter,你就可以看见一个简单的Web界面,选中需要转换的文件并确定格式,点击按钮就可以转换。也可以通过命令行对文件进行转换,如:
java -jar jodconverter-2.1.1/lib/jodconverter-2.2.2.jar loremipsum.odt loremipsum.pdf

 

 

转载于:https://my.oschina.net/usenrong/blog/197841

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100864.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python之numpy的基本使用

    python之numpy的基本使用一 numpy 概述 numpy 模块提供了 python 对 N 维数组对象的支持 ndarray ndarray 数组中的元素须为同一数据类型 这一点与 python 的列表是不一样的 numpy 支持高级大量的维度数组与矩阵运算 此外也针对数组运算提供大量的数学函数库 二 创建 ndarray 数组代码示例 coding utf 8 importnumpy print 使用列表生成一维数组 d

    2025年12月10日
    5
  • Linux驱动基础开发

    Linux驱动基础开发来源:http://www.linuxidc.com/Linux/2011-10/44721.htmLinux设备驱动概述目前,Linux软件工程师大致可分为两个层次:(1)Linux应用软件

    2022年7月1日
    23
  • 怎么清除火狐浏览器的cookie?

    怎么清除火狐浏览器的cookie?

    2021年10月15日
    45
  • IDEA安装教程(傻瓜式安装)

    IDEA安装教程(傻瓜式安装)IDEA安装教程1.文件下载1.idea下载2.PJ文件下载2.idea安装步骤3.PJ导包1.文件下载1.idea下载下载地址.版本为2020.1为例2.PJ文件下载下载地址.密码:d79t选择版本进行下载。2.idea安装步骤1.双击打开软件,点击Next2.选择安装目录,然后点击Next(然后会卡一会,取决于电脑性能,在此操作之间,不要着急)3.选择64位,就可以,其他选项看自己需要,然后点击Next4.无需选择,直接点击Install,5.然后点击Finish,完成

    2022年10月2日
    3
  • 证明彼得森图不是平面图

    证明彼得森图不是平面图使用反证法设彼得森图是平面图,那么按照欧拉公式R=E-V+2(R为面,E为边,V为结点)这里E=15,V=10但是彼得森图每个面至少有5条边,由推论可得3m<=5*(n-2)即15<=5/3*8矛盾,于是彼得森图不是平面图…

    2022年5月23日
    56
  • redis之淘汰策略和删除策略_局部淘汰策略

    redis之淘汰策略和删除策略_局部淘汰策略redis内存不足时的淘汰策略一般情况下,当内存超出物理内存限制时,内存数据将与磁盘产生频繁交换(swap),swap会导致redis性能急剧下降,对于访问量较大的情况下,swap的存取效率会让服务基本处于不可用的状态。在生产环境中,一般不允许redis出现swap行为,redis提供了maxmemory设置其最多可占用的内存空间。当redis使用的内存超出maxmemory时,此时已经没有多余可用的内存空间,新的数据将无法写入,redis提供了几种数据淘汰策略,用于清理数据,腾出空间以继续

    2022年10月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号