网页上查看pdf的方案:

  • 1.使用adobe reader的插件
  • 2.使用在线office控件
  • 3.使用火狐开源项目pdf.js(浏览器需支持html5)
  • 4.将pdf转换为swf文件
  • 5.使用pdfobject.js

下面我来讲一讲各种方案的实现,第一种使用adobe reader 插件就是需要用户安装adobe reader软件,ActiveX控件。

window.onload = isAcrobatPluginInstall;
function isAcrobatPluginInstall() {
var flag = false;
// 如果是firefox浏览器
if (navigator.plugins && navigator.plugins.length) {
for (x = 0; x < navigator.plugins.length; x++) { if (navigator.plugins[x].name == 'Adobe Acrobat')
flag = true;
return;
}
}
// 下面代码都是处理IE浏览器的情况
else
if (window.ActiveXObject) {
for (x = 2; x < 10; x++) {
try {
oAcro = eval("new ActiveXObject('PDF.PdfCtrl." + x + "');");
if (oAcro) {
flag = true;
}
} catch (e) {
flag = false;
}
}
try {
oAcro4 = new ActiveXObject('PDF.PdfCtrl.1');
if (oAcro4)
flag = true;
} catch (e) {
flag = false;
}
try {
oAcro7 = new ActiveXObject('AcroPDF.PDF.1');
if (oAcro7)
flag = true;
} catch (e) {
flag = false;
}
}
if (flag) {
return true;
} else {
alert("对不起,您还没有安装PDF阅读器软件呢,为了方便预览PDF文档,请选择安装!");
//location = 'http://ardownload.adobe.com/pub/adobe/reader/win/9.x/9.3/chs/AdbeRdr930_zh_CN.exe';
document.getElementById("IfNoAcrobat").style.display = "block";
document.getElementById("showdiv").style.display = "none";
}
return flag;
}
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="990" height="600" border="0" top="-10" name="pdf">
<param name="toolbar" value="false">
<param name="_Version" value="65539">
<param name="_ExtentX" value="20108">
<param name="_ExtentY" value="10866">
<param name="_StockProps" value="0">
<param name="SRC" value="文件路径">
<!-- 这里重复设置属性值,主要是因为firefox、Chrome支持embed,而不支持param -->
<embed src="文件路径" quality="high" bgcolor="#ffffff" width="990" height="700" align="center" type="application/pdf" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

第二种使用在线的office控件

我使用的是一款叫做PageOffice的产品,功能很强大,不过好像要收费,有试用版的!官方文档很详细,自己搜索吧!

第三种使用pdf.js预览

这个也比较简单,去github上下载开源项目,打开里面的example.html直接将面的路径替换成你自己的就行了,里面有些文件可以删除!

第四种将pdf文件转换成swf文件,即使用flash查看

大致思路是安装swftools软件,利用java代码启动进程将pdf转换成swf,然后将路径传回前台即可!

简单贴一下代码

 1  try {

 String command = t + "pdf2swf.exe  -i " + sourceFile + " -o "//t是swftools软件的安装的根目录  sourceFile 目标文件路径   destFile目的文件路径
+ destFile;
Process pro = Runtime.getRuntime().exec(command); BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(pro.getInputStream()));
while (bufferedReader.readLine() != null) { }
pro.waitFor();
return pro.exitValue();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}

有个问题可能需要注意一下如果使用的是tomcat服务器   tomcat文件夹是不允许其他软件随便写的,建议先生成在其他文件夹下  然后java代码移动到项目路径下

第五种使用pdfobject.js

这个也是github上的开源项目,可以直接去下载,使用起来也是相当简单

 <script type="text/javascript" src="pdfobject.js"></script>

     <script type="text/javascript">

      window.onload = function (){

        var success = new PDFObject({ url: "sample.pdf" }).embed();

             };
</script>

最新文章

  1. 在WinCC中通过VBS操作SQL Server2005
  2. C# 正则表达式总结
  3. rabbitMQ学习(五)
  4. 关于Elasticsearch单个索引文档最大数量问题
  5. twistd 启动Python服务
  6. C++中的基类与派生类
  7. UVALive 4255 Guess
  8. buffer cache chain 图
  9. JavaScript-学习一_var
  10. ppt怎么换背景图片|PPT换背景设置方法
  11. Hadoop 6、第一个mapreduce程序 WordCount
  12. centos中apache-tomcat的配置
  13. 使用 Kafka 和 ELK 搭建测试日志系统(1)
  14. Windows下编译SDL
  15. iOS 开发 nonatomic 和 atomic
  16. A Boring Problem UVALive - 7676
  17. django-pagination配置出错处理
  18. 独家 | 蚂蚁金服TRaaS技术风险防控平台解密
  19. Java语法基础学习DaySeven
  20. 一个日志模板,从traceback打印异常受启发做的模板,可被pycharm esclip 等ide识别和跳转

热门文章

  1. mysql 的主从
  2. 了解ffmpeg生态
  3. elk搭建的详细步骤以及说明
  4. Docker MongoDB 部署
  5. 【优化】SPA项目的基础优化
  6. java打分系统
  7. sqlserver表值函数调用方式
  8. elasticsearch基本Restful操作
  9. sqlserver 返回刚插入的那条数据
  10. java+struts上传文件夹文件