前端实现word、pdf⽂件在线预览功能
1、前端实现pdf⽂件在线预览功能
⽅式⼀: 通过a标签href属性实现
pdf⽂件理论上可以在浏览器直接打开预览但是需要打开新页⾯。在仅仅是预览pdf⽂件且UI要求不⾼的情况下可以直接通过a标签href属性实现预览
<a href="⽂档地址"></a>
⽅式⼆: 通过jquery插件dia.js实现
这个插件可以实现pdf预览功能(包括其他各种媒体⽂件)但是对word等类型的⽂件⽆能为⼒。
实现⽅式:
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="dia.js"></script>
html结构:
<body>jquery在线库
<div id="handout_wrap_inner"></div>
</body>
调⽤⽅式:
<script type="text/javascript">
$('#handout_wrap_inner').media({
width: '100%',
height: '100%',
autoplay: true,
src:'storage.xuetangx/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf',
});
</script>
⽅式三: 直接通过页⾯内嵌iframe
$("<iframe src='"+ this.previewUrl +"' width='100%' height='362px' frameborder='1'>").appendTo($(".video-handouts-preview"));
此外还可以在iframe标签之间提供⼀个提⽰类似这样
<iframe :src="previewUrl" width="100%" height="100%">
This browser does not support PDFs. Please download the PDF to view it: <a :href="previewUrl">Download PDF</a>
</iframe>
⽅式四: 通过标签嵌⼊内容
<embed :src="previewUrl" type="application/pdf" width="100%" height="100%">
此标签h5特性中包含四个属性:⾼、宽、类型、预览⽂件src!
与< iframe > < / iframe > 不同,这个标签是⾃闭合的的,也就是说如果浏览器不⽀持PDF的嵌⼊,那么这个标签的内容什么都看不到!⽅式五: 标签和iframe使⽤差别较⼩
<object :src="previewUrl" width="100%" height="100%">This browser does not support PDFs. Please download the PDF to view it: <a
:href="previewUrl">Download PDF</a>
</object>
⽅式六: PDFObject
PDFObject实际上也是通过标签实现的直接上代码
<!DOCTYPE html>
<html>
<head>
<title>Show PDF</title>
<meta charset="utf-8" />
<script type="text/javascript" src='pdfobject.min.js'></script>
<style type="text/css">
html,body,#pdf_viewer{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="pdf_viewer"></div>
</body>
<script type="text/javascript">
if(PDFObject.supportsPDFs){
// PDF嵌⼊到⽹页
} else {
location.href = "/canvas";
}
// 还可以通过以下代码进⾏判断是否⽀持PDFObject预览
if(PDFObject.supportsPDFs){
console.log("Yay, this browser supports inline PDFs.");
} else {
console.log("Boo, inline PDFs are not supported by this browser");
}
</script>
</html>
⽅式七: PDF.js
PDF.js可以实现在html下直接浏览pdf⽂档,是⼀款开源的pdf⽂档读取解析插件,⾮常强⼤,能将PDF⽂件渲染成Canvas。PDF.js主要包含两个库⽂件,⼀个pdf.js和⼀个pdf.worker.js,⼀个负责API解析,⼀个负责核⼼解析。
2、word、xls、ppt⽂件在线预览功能
word、ppt、xls⽂件实现在线预览的⽅式⽐较简单可以直接通过调⽤微软的在线预览功能实现 (预览前提:资源必须是公共可访问的)
<iframe src='view.officeapps.live/op/view.aspx?src=storage.xuetangx/public_assets/xuetangx/PDF/1.xls' width='100%'
height='100%' frameborder='1'>
</iframe>
/src就是要实现预览的⽂件地址/
/具体⽂档看这微软接⼝⽂档/
/补充:google的⽂档在线预览实现同微软(资源必须是公共可访问的)/
<iframe :src="'le/viewer?url="fileurl"></iframe>
3、word⽂件
XDOC可以实现预览以DataURI表⽰的DOC⽂档,此外XDOC还可以实现⽂本、带参数⽂本、html⽂
本、json⽂本、公⽂等在线预览,具体实现⽅法请看官⽅⽂档下⾯这种⽅式可以实现快速预览word但是对⽂件使⽤的编辑器可能会有⼀些限制
<a href="www.xdocin/xdoc?_func=to&_format=html&_cache=1&_xdoc=www.xdocin/demo/demo.docx" target="_blank"
rel="nofollow">XDOC</a>
4、excel⽂件
⽬前excel⽂件已经有了类似pdf.js那样的解析sheet.js
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论