这是我在博客园发表的第一篇文章。以后会陆续把在线预览其他格式文档的解决方案发表出来。

解决思路:把pdf转换成html显示。

在线预览pdf我暂时了解3种解决方案,欢迎大家补充。

方案一:

利用pdf2html软件将PDF转换成HTML。

用法: PDF2HTML [选项] <PDF 文件> [<HTML 文件>]

-f <页数>          : 转换开始页
-l <页数>          : 转换结束页
-z <缩放率>             : 设置转换缩放率,从 50 到 200
-c                        : 创建在一个连续 HTML 页面中
-d                      : 从连续 HTML 页面删除图片
-b <间距>         : 字符间距
-j <JPEG 品质>      : 设置 JPEG 品质,从 1 到 100
-g                      : Set JPEG grayscale
-u <用户密码>            : 用户密码
-w <所有者密码>             : 用户密码
-q                             : 转换完成后退出
-m                            : 运行不需要窗口
-r                              : 覆盖现有目标文件不提示确认
-i <输入 PDF 文件名>         : 将被转换 PDF 文件
-o <输出 HTML 文件名>      : 将被创建的 HTML 文件
-h 或 -?                           : 打印 PDF2HTML 使用信息

举例: 
PDF2HTML -q -f 5 -l 8 -i c:\a.pdf -o c:\a.html
PDF2HTML -q -m -r -i "c:\a.pdf" -o "c:\a.html"
PDF2HTML -q -m -r -c -d -i c:\a.pdf -o c:\a.html
PDF2HTML -q -m -r -u user -w owner -i c:\a.pdf -o c:\a.html

优点:兼容ie6-8,除此之外别无其他优点

缺点:复杂格式转换效果令人堪忧,毕竟06年的软件,不能要求太高

方案二:

利用开源库pdf2htmlEX将PDF转换成HTML。

转换效果实例:

github地址:https://github.com/coolwanglu/pdf2htmlEX

主要代码:D:/pdf2htmlEX/pdf2htmlEX.exe ..\pdf\1.pdf ..\pdf\1.html

优点:转换效果真的很完美,开源

缺点:浏览器必须支持HTML5

方案三:

利用pdf.js展示pdf文件。

在线演示:http://mozilla.github.com/pdf.js/web/viewer.html

github地址:https://github.com/mozilla/pdf.js

优点:显示效果完美,开源

缺点:浏览器必须支持HTML5

WEB在线预览PDF的更多相关文章

  1. Atitit.office word  excel  ppt pdf 的web在线预览方案与html转换方案 attilax 总结

    Atitit.office word  excel  ppt pdf 的web在线预览方案与html转换方案 attilax 总结 1. office word  excel pdf 的web预览要求 ...

  2. Java实现web在线预览office文档与pdf文档实例

    https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...

  3. FlexPaper+SWFTool+操作类=在线预览PDF

    引言 由于客户有在线预览PDF格式的需求,在网上找了一下解决方案,觉得FlexPaper用起来还是挺方便的,flexpaper是将pdf转换为swf格式的文件预览的,所以flexpaper一般和swf ...

  4. 在线预览PDF

    FlexPaper+SWFTool+操作类=在线预览PDF   引言 由于客户有在线预览PDF格式的需求,在网上找了一下解决方案,觉得FlexPaper用起来还是挺方便的,flexpaper是将pdf ...

  5. FlexPaper+SWFTool+操作类=在线预览PDF(转)

    引言 由于客户有在线预览PDF格式的需求,在网上找了一下解决方案,觉得FlexPaper用起来还是挺方便的,flexpaper是将pdf转换为swf格式的文件预览的,所以flexpaper一般和swf ...

  6. 网页中动态嵌入PDF文件/在线预览PDF内容https://www.cnblogs.com/xgyy/p/6119459.html

    #网页中动态嵌入PDF文件/在线预览PDF内容# 摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如 ...

  7. #网页中动态嵌入PDF文件/在线预览PDF内容#

    摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...

  8. 网页嵌入pdf、在线预览pdf工具及插件(转)

    摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...

  9. 使用pdfjs插件在线预览PDF文件

    前言 本文介绍在html中使用 pdfjs插件在线预览PDF文件的方法. 实现步骤 下载 pdfjs 并引入项目中 到PDFJS官网 http://mozilla.github.io/pdf.js/g ...

随机推荐

  1. Stack-overflow, how to answer

    How to Answer Welcome to Stack Overflow! Thanks for taking the time to contribute an answer. It's be ...

  2. Notification使用笔记

    之前在项目中使用了Notification,现分享出来: checkNotification() function checkNotification(){ //判断是否支持Notification ...

  3. 【贪心】 poj 1032 和为n的若干数最大乘积

    给出n,把n分解为若干不相同数之和,使之乘积最大.贪心,Discuss里面的思路:把n分解为从2开始的连续整数,如果有多,则从高位开始依次加1.如26,我们得到2+3+4+5+6,此时还剩余6(26- ...

  4. shell注意事项

    以下基于bash 1.shell只有变量和数组?,数组() 2.( (表达式1,表达式2…) ) 3.[ expr ] 实际上是bash 中 test 命令的简写.即所有的 [ expr ] 等于 t ...

  5. js 关键字 in

    对于数组 ,迭代出来的是数组元 素,对于对象 ,迭代出来的是对象的属性: var x var mycars = new Array() mycars[0] = "Saab" myc ...

  6. mysql中exists的用法介绍

    SELECT c.CustomerId, CompanyName   2 FROM Customers c   3 WHERE EXISTS(   4     SELECT OrderID FROM  ...

  7. U盘安装Centos后拔除U盘无法启动问题解决方法

    今天安装CentOS后发现把引导文件安装在U盘上了,所以不插U盘就无法进入CentOS系统,在网上找到这种方法成功摆脱U盘启动,避免重新用U盘做引导盘安装系统,简单省事,所以发个帖,留着以后备用. 1 ...

  8. LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)

    题意:题目给出一个欧拉函数值F(X),让我们求>=这个函数值的最小数N,使得F(N) >= F(X); 分析:这个题目有两种做法.第一种,暴力打出欧拉函数表,然后将它调整成有序的,再建立一 ...

  9. ElasticSearch — 集群搭建

    1.es需要java环境,故先检查java环境是否正常 2.下载elasticsearch安装包 http://www.elasticsearch.org/download/ 目前最新版本到1.4.0 ...

  10. 动态规划之----我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

    利用动态规划,一共有n列,若从左向右放小矩形,有两种放置方式: 第一种:横着放,即占用两列.此时第二行的前两个空格只能横着放,所有,总的放置次数变为1+num(2*(n-2)),其中2*(n-2)代表 ...