PDF文件预览项目选型
PDF文件在线预览有多种方式,目前使用较多的有3种:pdf2swf、pdf2image、pdf2html。这3种方式各有优缺点,下面将详细介绍。
个性需求
预览界面的下载按钮可控(根据需要显示)
预览界面的文本不可复制
pdf2swf
pdf2swf是adobe提供的一个pdf文档免费转换工具。在线预览pdf需要搭配flexpaper使用。
pdf2swf官网
flexpaper官网
pdf2swf+flexpaper是一种在线预览pdf的轻量级解决方案,无需本地pdf软件环境的支持。它被广泛使用在各大下载站点上,如CSDN、51CTO等。csdn下载
优点
使用广泛,较为成熟,入门容易。
开发工作量较小,有现成的代码库。
开源协议商业友好,有免费开源版本。
预览界面处于一个单独的frame层中,易于已有工程集成。
缺点
项目的个性需求实现较为困难,需要熟悉或修改flexpaper。
速度较慢,CSDN下载上面的预览常有卡死现象。
flexpaper免费版本不能移除商标且长度不能大于10页。各版本参考
pdf2image
ASPOSE.PDF
aspose.pdf是一个pdf文档的查看、操作支持库,产品有全面的文档、Demo。
优点
产品文档、Demo齐全,平台支持全。
可以对pdf文档精细化控制,精确到具体的文字。
多页pdf文档支持设置页眉、页脚等。
输出支持html、图片等多种格式,方便后期扩展。
缺点
没有开源许可,费用较大。
产品相对复杂,学习成本较高。
ICEPDF
icepdf是一个操作pdf的开源引擎,轻量、快速、高效。
优点
转pdf为png较快,格式良好。
中文支持较好,没有乱码问题。
基本满足个性需求。
缺点
清晰的图片对带宽的要求较高,加载速度慢。
免费版图片清晰度不足。
pdf2html
pdf2html的方案很多,有火狐的pdf.js,JPedal,还有国人主导开发的pdf2htmlEX等,是HTML5兴起后的新方案。
pdf.js
pdf.js是火狐支持开发的一个pdf展示工具,主要用于HTML5平台。在线示例
优点
已内置火狐浏览器,稳定性好。
纯js操作,方便修改。
基本满足个性需求。
商业友好。
缺点
对旧版浏览器的支持较差。
需要学习服务端js,入门较难。
中文资料、支持较少。
JPedal
类似pdf.js。
pdf2htmlEX
在线示例、中文文档
pdf2htmlEX可以将PDF转换成HTML,并且可以在html中精确显示原生文本(包括在pdf中的字体、颜色、位置,可以选择、搜索、复制等),可选单html文件输出。
优点
精确显示原生文本。
生成的文件大小与压缩后的pdf文件相当,节省带宽。
可选单html文件输出,方便归档文件。
中文支持较好,有中文示例。
国人开发,可以论坛、邮件列表提供支持。
缺点
pdf文件过大可能会出现浏览器卡死。
开源协议是GPLV3,商业使用受限。
简单总结
几套方案比较下来,各有优缺点。swf比较消耗资源,且样式老旧,不推荐。图片方式不能检索文本,也不推荐。html5是潮流,且案例较多,页面美观,推荐。