首先 说下这方面的需求: 向后台发送对应的id参数 拿到相关
pdf的文件流
如下:
由于没做过pdf预览功能 在网上看了好多教程 眼花缭乱 同时也试了很多种 不是报错 就是
报错
其中Vue的教程 下载插件vue-pdf 根据文档教程满足我的需求 也实现了我想要的效果 但是做的项目是之前的老项目 纯原生写的 所以还是要看
pdf.js
的官网
①: 到官网下载包
https://github.com/mozilla/pdf.js/releases/download/v1.10.88/pdfjs-1.10.88-dist.zip
②: 解压包到项目 目录中
③:修改viewer.js
-
var DEFAULT_URL = ‘compressed.tracemonkey-pldi-09.pdf’
//里面是PDF的路径删除该变量定义(注释掉)
var fileOrigin = new URL(file, window.location.href).origin;
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
if (file && 'byteLength' in file) {
} else{
var fileOrigin = new URL(file, window.location.href).origin;
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
④:打开viewer.html 在<script src="viewer.js"></script>
上方添加以下代码:
<script src="../../js/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
function getArgsFromHref(sArgName){
var sHref = location.search;
var args = sHref.split(sArgName+"=");
var retval = "";
if(args[0] == sHref){
return retval;
var retval = args[1];
return retval;
var url_file=getArgsFromHref("url_file");
var DEFAULT_URL = "";
var PDFData = "";
$.ajax({
type:"post",
async:false,
mimeType: 'text/plain;charset=x-user-defined',
url:url_file,
success:function(data){
PDFData = data;
});
var rawLength = PDFData.length;
var array = new Uint8Array(new ArrayBuffer(rawLength));
for(i = 0; i < rawLength; i++) {
array[i] = PDFData.charCodeAt(i) & 0xff;
DEFAULT_URL = array;
</script>
需要展示pdf文档的页面盒子

把viewer.html 用iframe嵌套进去

我在viewer.html下一步请求操作:
页面显示效果:
注: 自己更改下默认样式 来搭配自己项目主体(其工具栏中文报错:要部署在服务器上才会生效 可自行搭建服务器查看)
首先 说下这方面的需求: 向后台发送对应的id参数 拿到相关pdf的文件流 如下:由于没做过pdf预览功能 在网上看了好多教程 眼花缭乱 同时也试了很多种 不是报错 就是 报错其中Vue的教程 下载插件vue-pdf 根据文档教程满足我的需求 也实现了我想要的效果 但是做的项目是之前的老项目 纯原生写的 所以还是要看pdf.js的官网废话不多说 直接说下我过程中实现的步骤:①: 到官网下载包https://github.com/mozilla/pdf.js/releases