实现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)
上一篇 2021年7月8日 下午7:00
下一篇 2021年7月8日 下午8:00


相关推荐

  • webpackdevtool配置简单对比简书_钢铁雄心4toolpack

    webpackdevtool配置简单对比简书_钢铁雄心4toolpack官方手册传送门官方对devtool配置的定义很简单:选择一种sourcemap格式来增强调试过程,不同的值会明显影响到构建build和重新构建rebuild的速度。不过,什么是sourcemap,官方用提供了许多种的sourcemap,其中的区别是什么,我们在开发中应该怎么选择,都是我们要学习的。1.什么是sourcemap现在的前端代码会通过babel编译或者各类的…

    2026年4月17日
    6
  • redis雪崩和击穿_redis缓存雪崩

    redis雪崩和击穿_redis缓存雪崩缓存雪崩缓存雪崩是指在同一时间段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。解决方案:给不同的key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加将降级限流策略给业务添加多级缓存缓存击穿缓存击穿问题也叫热点key问题,就是一个被高并发并且缓存重建业务较复杂的key突然失效了,无数的请求访问会瞬间给数据库带来巨大的冲击;例如一个人查询数据库重建缓存数据,在缓存数据还没有写入数据库的时候其它的人也对进行重复

    2025年11月17日
    7
  • ResNeXt与分组卷积

    ResNeXt与分组卷积ResNeXt 两点 1 Inceptionv4 的所有分支结构统一 2 inceptionblo 前后增加 shortcut 分支分支结构统一与 shortcut 左边是 Inception 结构 不同分支用不同的结构 右边是 ResNeXt 的 Block 每个分支都是 1×1 3×3 1×1 的 BottleNeck 结构 所以叫统一分支 1 为什么要统一分支 因为左边的结构是人为设计的 所以想用稍微自然一点的结构 有 ablationstud 吗 增加 shortcut 发现效果更好具体实现看右边的

    2026年3月17日
    1
  • 解决动态生成的SQL中特殊字符的问题 QuotedStr function「建议收藏」

    解决动态生成的SQL中特殊字符的问题 QuotedStr function「建议收藏」Returnsthequotedversionofastring.UnitSysUtilsCategoryStringhandlingroutinesDelphisyntax:functionQuotedStr(constS:string):string;DescriptionUseQuotedStrtoco…

    2022年10月10日
    5
  • django 自定义user_tb程序化交易模型源码

    django 自定义user_tb程序化交易模型源码前言Django为我们提供了内置的User模型,不需要我们再额外定义用户模型,建立用户体系了。它的完整的路径是在django.contrib.auth.models.User。User模型源码分析

    2022年7月29日
    12
  • resin 4.0数据源的配置

    resin 4.0数据源的配置

    2022年2月2日
    88

发表回复

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

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