最近需要实现一个PDF文档预览的功能,按理说,如果只是简单的预览,使用、等就可以实现。 但是,我们的需求要实现搜索!而且,文档还都超大,均300页以上。那、就难以实现了!所以使用pdf.js库。 摘要 上一篇文章 前端 使用pdf.js加载PDF文件 中讲的是使用canvas绘图的方式,将PDF文件渲染在页面中。但其实PDF.js也提供了通过viewer.html来加载预览PDF文件,而且使用非常方便。 viewer.html很好用,但是我查遍了很多文档,真的都好难看懂是怎么使用的啊!那下面,我们把使用viewer.html的方法直接贴出来。 使用Viewer.html的好处 与我上一篇文章中提到的canvas绘图相比,性能肯定是比较好的;自带了搜索、页面跳转、高亮等等工具栏,不需要手动实现了,这是莫大的便利。viewer.html使用 第一步:pdf.js文档和文件包下载 pdf.js文档: https://github.com/mozilla/pdf.js?tab=readme-ov-file,这个是pdf.js的readme.md地址,所有的使用指导在这里都可以找到。文件包下载:你可以在上面的这个页面中找到。当然也可以在这个地址中:https://mozilla.github.io/pdf.js/getting_started/#download,选择stable下载。下载页面截图如下:第二步:下载到pdf.js按照包后,怎么使用呢?放在哪里 有两种方式: 1. 第一种方式:放在你当前项目的路径下,像下面这样: 说明: pdfjs-4.0.379-dist是下载的pdf文件的夹,里面的viewer.html文件,就是它的入口文件。2. 第二种方式:将它部署成为一个静态服务(这是本示例中我所使用的方式) 这样做的好处是: 对于当前项目,项目体量减小;部署一个静态服务,多个项目可调用。便利性更好题外话:将pdfjs部署在亚马逊 创建一个部署静态服务的存储桶,上传下载下来的文件包,如下所示: 这样一来,存放在该静态服务内的pdf文件都可以访问了。假设部署的服务地址是:http://xxx-pdf-viewer.s3-website-xx-xxx-xx.amazonaws.com/pdfjs-4.0.379-dist/web/viewer.html?file=docs/xxx.pdf 在这个路径中,docs文件夹位于web文件夹内,专门用来存放pdf文件。 第三步:使用viewer.html 通过iframe嵌入来使用viewer.html,使用方法很简单: html: <iframe :src="url" frameborder="0" width="100%" height="100%">iframe> 1JavaScript:计算url const url = computed(() => { // 部署pdfjs的服务地址 const aws_server = 'http://xxx-pdf-viewer.s3-website-xx-xxx-xx.amazonaws.com/pdfjs-4.0.379-dist/web/viewer.html' // pdf文件名称 const pdf_name = 'x-trail-0601-20220911.pdf' return `${aws_server}?file=${encodeURIComponent(`docs/${pdf_name}`)}` }) 12345678910这样,就可以访问到docs文件夹下的所有pdf啦。简单吧! 标签: 声明 1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。 在线投稿:投稿 站长QQ:1888636 后台-插件-广告管理-内容页尾部广告(手机) 相关文章 08 | Swoole与Go系列教程之Channel通道的应用 thinkphp融合workerman的两种简单方式,直接在workerman里面用tp的orm功能 [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告 Typecho:简约而强大的开源PHP博客平台 昔日辉煌不再,PHP老矣,尚能饭否? PHP APCu缓存使用与避坑 谁说PHP不能异步和并行运行? 一个用rust写的类似于Skywalking/CAT的迷你trace PHP扩展 关注我们 扫一扫关注我们,了解最新精彩内容 搜索 排行榜 热门文章 随机文章 好奇喵 | Tor浏览器——如何拥有一颗洋葱并使用 Ubuntu 20.04 RTX 4090显卡 深度学习环境配置(Nvidia显卡驱动、CUDA11.6.0、cuDNN8.5) VPN的介绍及自建点对点的OpenVPN和使用方法:保姆级详细教程,(windou客户端版)后附脚本 phpy :PHP 与 Python 互调用库,为 PHP 引入 Python 生态,PHP 也可以写 AI 了 Linux内核开启BBRv3加速让VPS更低延迟提升性能 【R语言】——基因GO/KEGG富集分析!超级简单的保姆级教程! Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO 如何快速定位当前数据库消耗 CPU 最高的sql 语句? Element Plus 虚拟化表格组件的使用(排序、筛选、自定义单元格渲染) - 个人使用总结 ’sass_binary_site‘ is not a valid npm option问题的产生原因及解决办法 【 Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全】 如何顺利打开黑马苍穹外卖前端页面?/前端环境搭建步骤 Typecho博客搭建教程 Python读取CSV文件的几种方法 Python爬虫实战:图片爬取与保存 【机器学习】Decision Tree 决策树算法详解 + Python代码实战 Python-VBA编程500例-013(入门级) 数据科学中的Python:NumPy和Pandas入门指南【第121篇—NumPy和Pandas】 最近发表 08 | Swoole与Go系列教程之Channel通道的应用 thinkphp融合workerman的两种简单方式,直接在workerman里面用tp的orm功能 [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告 Typecho:简约而强大的开源PHP博客平台 昔日辉煌不再,PHP老矣,尚能饭否? PHP APCu缓存使用与避坑 谁说PHP不能异步和并行运行? 一个用rust写的类似于Skywalking/CAT的迷你trace PHP扩展 Typecho博客搭建教程 标签列表 优惠促销 香港VPS 美国VPS 洛杉矶 洛杉矶VPS 新加坡vps 优惠码 服务器 美国CN2VPS 便宜美国vps 美国vps推荐 日本vps 美国便宜VPS 独立服务器 VPS 香港vps推荐 美国vpscn2 香港cn2vps 美国cmin2vps 美国as9929vps
但是,我们的需求要实现搜索!而且,文档还都超大,均300页以上。那、就难以实现了!所以使用pdf.js库。 摘要 上一篇文章 前端 使用pdf.js加载PDF文件 中讲的是使用canvas绘图的方式,将PDF文件渲染在页面中。但其实PDF.js也提供了通过viewer.html来加载预览PDF文件,而且使用非常方便。 viewer.html很好用,但是我查遍了很多文档,真的都好难看懂是怎么使用的啊!那下面,我们把使用viewer.html的方法直接贴出来。 使用Viewer.html的好处 与我上一篇文章中提到的canvas绘图相比,性能肯定是比较好的;自带了搜索、页面跳转、高亮等等工具栏,不需要手动实现了,这是莫大的便利。viewer.html使用 第一步:pdf.js文档和文件包下载 pdf.js文档: https://github.com/mozilla/pdf.js?tab=readme-ov-file,这个是pdf.js的readme.md地址,所有的使用指导在这里都可以找到。文件包下载:你可以在上面的这个页面中找到。当然也可以在这个地址中:https://mozilla.github.io/pdf.js/getting_started/#download,选择stable下载。下载页面截图如下:第二步:下载到pdf.js按照包后,怎么使用呢?放在哪里 有两种方式: 1. 第一种方式:放在你当前项目的路径下,像下面这样: 说明: pdfjs-4.0.379-dist是下载的pdf文件的夹,里面的viewer.html文件,就是它的入口文件。2. 第二种方式:将它部署成为一个静态服务(这是本示例中我所使用的方式) 这样做的好处是: 对于当前项目,项目体量减小;部署一个静态服务,多个项目可调用。便利性更好题外话:将pdfjs部署在亚马逊 创建一个部署静态服务的存储桶,上传下载下来的文件包,如下所示: 这样一来,存放在该静态服务内的pdf文件都可以访问了。假设部署的服务地址是:http://xxx-pdf-viewer.s3-website-xx-xxx-xx.amazonaws.com/pdfjs-4.0.379-dist/web/viewer.html?file=docs/xxx.pdf 在这个路径中,docs文件夹位于web文件夹内,专门用来存放pdf文件。 第三步:使用viewer.html 通过iframe嵌入来使用viewer.html,使用方法很简单: html: <iframe :src="url" frameborder="0" width="100%" height="100%">iframe> 1JavaScript:计算url const url = computed(() => { // 部署pdfjs的服务地址 const aws_server = 'http://xxx-pdf-viewer.s3-website-xx-xxx-xx.amazonaws.com/pdfjs-4.0.379-dist/web/viewer.html' // pdf文件名称 const pdf_name = 'x-trail-0601-20220911.pdf' return `${aws_server}?file=${encodeURIComponent(`docs/${pdf_name}`)}` }) 12345678910这样,就可以访问到docs文件夹下的所有pdf啦。简单吧! 标签: 声明 1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。 在线投稿:投稿 站长QQ:1888636 后台-插件-广告管理-内容页尾部广告(手机) 相关文章 08 | Swoole与Go系列教程之Channel通道的应用 thinkphp融合workerman的两种简单方式,直接在workerman里面用tp的orm功能 [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告 Typecho:简约而强大的开源PHP博客平台 昔日辉煌不再,PHP老矣,尚能饭否? PHP APCu缓存使用与避坑 谁说PHP不能异步和并行运行? 一个用rust写的类似于Skywalking/CAT的迷你trace PHP扩展 关注我们 扫一扫关注我们,了解最新精彩内容 搜索 排行榜 热门文章 随机文章 好奇喵 | Tor浏览器——如何拥有一颗洋葱并使用 Ubuntu 20.04 RTX 4090显卡 深度学习环境配置(Nvidia显卡驱动、CUDA11.6.0、cuDNN8.5) VPN的介绍及自建点对点的OpenVPN和使用方法:保姆级详细教程,(windou客户端版)后附脚本 phpy :PHP 与 Python 互调用库,为 PHP 引入 Python 生态,PHP 也可以写 AI 了 Linux内核开启BBRv3加速让VPS更低延迟提升性能 【R语言】——基因GO/KEGG富集分析!超级简单的保姆级教程! Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO 如何快速定位当前数据库消耗 CPU 最高的sql 语句? Element Plus 虚拟化表格组件的使用(排序、筛选、自定义单元格渲染) - 个人使用总结 ’sass_binary_site‘ is not a valid npm option问题的产生原因及解决办法 【 Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全】 如何顺利打开黑马苍穹外卖前端页面?/前端环境搭建步骤 Typecho博客搭建教程 Python读取CSV文件的几种方法 Python爬虫实战:图片爬取与保存 【机器学习】Decision Tree 决策树算法详解 + Python代码实战 Python-VBA编程500例-013(入门级) 数据科学中的Python:NumPy和Pandas入门指南【第121篇—NumPy和Pandas】 最近发表 08 | Swoole与Go系列教程之Channel通道的应用 thinkphp融合workerman的两种简单方式,直接在workerman里面用tp的orm功能 [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告 Typecho:简约而强大的开源PHP博客平台 昔日辉煌不再,PHP老矣,尚能饭否? PHP APCu缓存使用与避坑 谁说PHP不能异步和并行运行? 一个用rust写的类似于Skywalking/CAT的迷你trace PHP扩展 Typecho博客搭建教程 标签列表 优惠促销 香港VPS 美国VPS 洛杉矶 洛杉矶VPS 新加坡vps 优惠码 服务器 美国CN2VPS 便宜美国vps 美国vps推荐 日本vps 美国便宜VPS 独立服务器 VPS 香港vps推荐 美国vpscn2 香港cn2vps 美国cmin2vps 美国as9929vps
上一篇文章 前端 使用pdf.js加载PDF文件 中讲的是使用canvas绘图的方式,将PDF文件渲染在页面中。但其实PDF.js也提供了通过viewer.html来加载预览PDF文件,而且使用非常方便。
viewer.html很好用,但是我查遍了很多文档,真的都好难看懂是怎么使用的啊!那下面,我们把使用viewer.html的方法直接贴出来。
有两种方式:
说明:
这样做的好处是:
创建一个部署静态服务的存储桶,上传下载下来的文件包,如下所示:
这样一来,存放在该静态服务内的pdf文件都可以访问了。假设部署的服务地址是:http://xxx-pdf-viewer.s3-website-xx-xxx-xx.amazonaws.com/pdfjs-4.0.379-dist/web/viewer.html?file=docs/xxx.pdf
在这个路径中,docs文件夹位于web文件夹内,专门用来存放pdf文件。
通过iframe嵌入来使用viewer.html,使用方法很简单:
html:
JavaScript:计算url
这样,就可以访问到docs文件夹下的所有pdf啦。简单吧!
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
08 | Swoole与Go系列教程之Channel通道的应用
thinkphp融合workerman的两种简单方式,直接在workerman里面用tp的orm功能
[240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告
Typecho:简约而强大的开源PHP博客平台
昔日辉煌不再,PHP老矣,尚能饭否?
PHP APCu缓存使用与避坑
谁说PHP不能异步和并行运行?
一个用rust写的类似于Skywalking/CAT的迷你trace PHP扩展
扫一扫关注我们,了解最新精彩内容