uniapp 在微信H5、安卓、IOS预览PDF
前言
uniapp在微信内通过链接预览PDF,而现有uniapp插件都是通过在线网站解析例如:
mumu-previewOffce
但解析网站目前已经不能访问
准备工作
下载PDF.JS https://github.com/mozilla/pdf.js/releases/download/v2.4.456/pdfjs-2.4.456-dist.zip 高版本会有奇奇怪怪的问题
放置在uniapp根目录static下并自行建立文件夹 例如:D:/Project/static/PDFView 并解压
使用问题
PDF.js 源码不支持文件跨域 如出现报错 可在viewer.js中找到以下代码并进行注释就可以解决
// 报错信息
file origin does not match viewer
// 注释源码 举例:D:/Project/static/PDFView/web/viewer.js
// if (origin !== viewerOrigin && protocol !== "blob:") {
// throw new Error("file origin does not match viewer's");
// }
文件CORS跨域
在浏览器访问如果打开还是一片空白的情况,看看是不是PDF文件是不是设置了不允许跨域访问、如果没有配置CORS 则需要配置PDF所在目录的CORS,例如:
location /upload/ {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
proxy_pass <http://xxx.xxx.xxx>;
}