- A+
描述
这是一个用于 Tampermonkey 或其他支持用户脚本的浏览器扩展的油猴脚本。
看到论坛经常有小伙伴们需要下载某创力文档-某人文库一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的烦恼而诞生,尽可能做到自动化。
安装
- 安装 Tampermonkey 浏览器扩展。
- 点击 脚本链接 或手动复制脚本代码。
- 在 Tampermonkey 中创建一个新脚本,将代码粘贴到编辑器中并保存。
原理说明
一般在线文档有以下几种方式展示在线文档预览功能:
- 将图片绘制成画布呈现
- 将二进制数据绘制画布
- 多种图片拼接页面渲染
- 直接图片渲染页面
所以该脚本只是将画布或图片在浏览器渲染时进行下载拼接成PDF文件,无法下载原始文件,并非破解,只要是你浏览器可以看到就可以下载。宗旨就是你能看到多少,就能下载多少。
核心技术点解决一个文档由多个域名提供图片,解决跨域问题。
以上两个文档库中的文档,大部分文档都是来自好几个域名,并且有跨域问题,也就是说如果在当前页面通过JavaScript
直接下载图片会产生跨域
问题,这也是为什么网上其他脚本针对这两个网站只能提供图片下载地址,不能直接下载的根本原因。
解决跨域最简单的办法就是同源,在脚本中动态添加 iframe
元素,通 iframe
内联元素框架打开当前图片所在域名,将需要下载的图片当 iframe
页面内下载,再通过 postMessage
方法将Blob
数据传回主页面进行保存。
当然也许有其他更好的办法解决,此脚本只是基于JavaScript进行处理,不借助额外第三方工具(下载,合并等exe文件)处理为前提。
功能
实现功能
- 自动预览页面
- 导出图片地址
- 导出PDF文件
- 导出PPTX文件(每一帧画面,每一页素材)
- 导出DOCX文件PDF格式
脚本功能说明
状态 获取地址 自动预览 停止预览 下载图片 下载PDF
第一个展示当前操作状态:预览进度、下载进度。
第二个除了PPT,下载其他文档获取对应的图片地址链接。
第三个所有文档下载时需要先点击自动预览功能
第四个与上面按钮相反,就是停止预览,可以先下载一部分检查是否正确
第五个下载原始图片到ZIP压缩包中
第六个合并图片导出PDF文件
示例
PPTX 示例
注意事项:
- 全屏预览
- 不要缩小浏览器
- 示例文档
预览效果图
DOCX
预览效果图
授权
@license Apache-2.0
兼容性
谷歌浏览器
注意事项
注意: 请确保遵循网站的使用条款和政策。自行承担风险。
- 本脚本完全免费。
- 仅供学习交流,严禁用于商业用途,请勿传播下载的数据。
- 本脚本所获取的资源完全合法,与浏览器能直接获得的资源一致,不存在逆向破解。
- 使用脚本造成的影响由使用者承担。