网页上预览pdf文件的几种方案
2024-08-29 00:28:21
网页上查看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>
最新文章
- 在WinCC中通过VBS操作SQL Server2005
- C# 正则表达式总结
- rabbitMQ学习(五)
- 关于Elasticsearch单个索引文档最大数量问题
- twistd 启动Python服务
- C++中的基类与派生类
- UVALive 4255 Guess
- buffer cache chain 图
- JavaScript-学习一_var
- ppt怎么换背景图片|PPT换背景设置方法
- Hadoop 6、第一个mapreduce程序 WordCount
- centos中apache-tomcat的配置
- 使用 Kafka 和 ELK 搭建测试日志系统(1)
- Windows下编译SDL
- iOS 开发 nonatomic 和 atomic
- A Boring Problem UVALive - 7676
- django-pagination配置出错处理
- 独家 | 蚂蚁金服TRaaS技术风险防控平台解密
- Java语法基础学习DaySeven
- 一个日志模板,从traceback打印异常受启发做的模板,可被pycharm esclip 等ide识别和跳转