【网页内嵌PDF下载】PDF.js妙用

【网页内嵌PDF下载】PDF.js妙用

问题描述

PDF作为一种便携式文件类型,具有独立于应用程序、硬件和操作系统的特性[1](#1),这使得其成为目前使用最多的文件类型之一。

上传者出于一些考虑,会将部分PDF文件内嵌 在网页中并不提供 保存功能选项。在这种情况下,大多数时候可以通过浏览器的打印 功能选项来保存PDF文件,但这种方式有一个缺点,即保存的PDF文件清晰度通常不如网页中内嵌的PDF源文件。

PDF源文件下载

常见的源文件下载方法为通过浏览器插件、下载管理插件、浏览器开发者工具和网页源码[2](#2)进行下载,由于浏览器插件与下载管理插件需要额外安装 并可能会下载错误版本,而当源文件的数据传输方式为加密传输时,网页源码也难以定位PDF源文件,因此,浏览器开发者工具似乎更加便捷高效。

使用浏览器开发者工具下载源文件通常有两种方式:

  • 查看网络面板,寻找源文件的网络请求并解析文件链接
  • 控制台使用命令调用相关API进行源文件下载

由于第一种下载方式在源文件加密传输时无效,因此只介绍第二种方式。

PDF.js介绍

PDF.js是一个由Mozilla开发并维护的开源JavaScript库[3](#3),它允许在现代Web浏览器中直接渲染和显示PDF文件。这个库的主要作用是将PDF文件的内容转换为HTML5格式并提供了一系列API,使得用户可以在浏览器中直接查看、操作PDF文件。

PDF.js使用

当网页内嵌的PDF未提供保存功能选项,尤其是传输方式为加密传输时,可通过如下步骤使用PDF.js保存源文件[4](#4)

  1. 在内嵌PDF的网页中打开浏览器开发者工具,并找到"控制台 "
  2. 输入命令this.PDFViewerApplication.download()this.PDFViewerApplication.save()(命令中使用了PDF.js的API,现代Web浏览器通常会内置对PDF.js的支持)
  3. 下载得到PDF源文件

声明

通过上述步骤,基本可以应对网页内嵌PDF下载的大部分情况。但值得注意的是,上传者不提供保存功能选项通常是为了限制PDF文件的传播,其中可能涉及到文件的版权、保密等问题,上述下载方法应当在合理范围内使用并对源文件不进行二次传播。


  1. pdf是指什么意思 ↩︎

  2. 怎么下载网页内嵌pdf ↩︎

  3. PDF.js ↩︎

  4. 腾讯调研云js加载的动态pdf下载思路 ↩︎

相关推荐
找了一圈尾巴6 分钟前
Python 学习-深入理解 Python 进程、线程与协程(下)
开发语言·python·学习
遇到困难睡大觉哈哈13 分钟前
Harmony os ——ArkTS 语言笔记(五):泛型、空安全与可选链
前端·笔记·安全·harmonyos·鸿蒙
ljt272496066117 分钟前
Compose笔记(五十七)--snapshotFlow
android·笔记·android jetpack
可触的未来,发芽的智生27 分钟前
微论-自成长系统引发的NLP新生
javascript·人工智能·python·程序人生·自然语言处理
活跃的煤矿打工人27 分钟前
【星海随笔】标准学习
学习
八哥程序员39 分钟前
你真的理解了 javascript 中的原型及原型链?
前端·javascript
Ziegler Han1 小时前
《升维》阅读笔记:在不确定的世界里,如何做出高确定性的决策
笔记·《升维》
工程师平哥1 小时前
APE-01 新建工程
笔记·嵌入式硬件
隔壁的大叔1 小时前
正则解决Markdown流式输出不完整图片、表格、数学公式
前端·javascript
今天你TLE了吗1 小时前
通过RocketMQ延时消息实现优惠券等业务MySQL当中定时自动过期
java·spring boot·后端·学习·rocketmq