本次演示基于Windows环境,通过Alist实现云盘挂载,所有必要文件已整合打包并上传至云盘,支持一键部署,开箱即用。
1. 准备工作
-
Alist软件
-
nginx
-
天翼云网盘
-
pdfjs
百度网盘:https://pan.baidu.com/s/13w-rUGztW9kT_1kTXGyWBA?pwd=r1un 提取码: r1un 夸克网盘:https://pan.quark.cn/s/b827d0dbb344
2. nginx配置
nginx+pdfjs实现预览本地pdf文件
-
修改nginx.conf文件
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; # 确保JavaScript文件有正确的MIME类型 types { text/javascript js mjs; application/javascript js mjs; } sendfile on; keepalive_timeout 65; server { listen 80; server_name 127.0.0.1; # 默认首页 location / { root E:/nginx-1.26.2/html; index index.html index.htm; } # PDF.js build目录 location /pdfjs/build/ { alias E:/nginx-1.26.2/html/pdfjs/build/; add_header Access-Control-Allow-Origin "*"; } # PDF.js web目录 location /pdfjs/web/ { alias E:/nginx-1.26.2/html/pdfjs/web/; add_header Access-Control-Allow-Origin "*"; index viewer.html; } # PDF文件目录 location /pdfs/ { alias E:/nginx-1.26.2/html/files/; add_header Content-Disposition "inline"; add_header Access-Control-Allow-Origin "*"; } # 错误页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
-
修改 mime.types 文件
解决JavaScript模块MIME类型错误
#修改前 application/javascript js; #修改后 添加mjs application/javascript js mjs;
-
修改 /html/index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>PDF预览</title> <style> body { margin: 0; padding: 0; } #pdf-viewer { width: 100%; height: 100vh; } </style> </head> <body> <iframe id="pdf-viewer" src="/pdfjs/web/viewer.html?file=/pdfs/example.pdf"></iframe> <script> // 如果需要动态加载不同的PDF文件,可以使用以下代码 function loadPdf(pdfPath) { document.getElementById('pdf-viewer').src = '/pdfjs/web/viewer.html?file=/pdfs/' + encodeURIComponent(pdfPath); } // 示例:loadPdf('example.pdf'); </script> </body> </html>
-
预览测试
http://127.0.0.1/pdfjs/web/viewer.html?file=/pdfs/123.pdf
3. Alist配置
# cmd 运行Alist服务端
.\alist.exe server
# 运行客户端,并设置管理员密码,将 NEW_PASSWORD 替换为你的密码
.\alist.exe admin set NEW_PASSWORD
出现以下截图表示服务端运行成功:
出现以下截图表示客户端运行成功:
访问管理端:
127.0.0.1:5244
4. 挂载云盘
进入管理端界面:依次点击 管理 --> 存储 --> 添加
注意:天翼云盘驱动一定选择 天翼云盘客户端
用户名:登录天翼云盘用户名(手机号)
密码:登录天翼云盘密码其余默认即可
5. 配置预览
依次点击: 设置 --> 预览
将 Iframe 预览 中的内容复制出来修改
只需要修改 PDF.js 节点中的内容,修改为nginx.conf 配置的的路径,如果你的nginx.conf和我的配置一样,则 PDF.js 节点的值和我保持一致即可
{
"doc,docx,xls,xlsx,ppt,pptx": {
"Microsoft":"https://view.officeapps.live.com/op/view.aspx?src=$e_url",
"Google":"https://docs.google.com/gview?url=$e_url&embedded=true"
},
"pdf": {
"PDF.js":"http://127.0.0.1/pdfjs/web/viewer.html?file=$e_url"
},
"epub": {
"EPUB.js":"https://alist-org.github.io/static/epub.js/viewer.html?url=$e_url"
}
}
6. 验证
访问: 127.0.0.1:5244 ,进入你挂载的盘符,选择一个pdf文件查看效果