Speechless 是一个帮助新浪微博用户,把微博内容导出成 PDF 进行本地备份的 Chrome Extension。
Chrome 并没有为 Extension 提供直接导出 PDF 的 Api,但是可以借助 Chrome 的 打印预览/另存为 PDF 功能,将网页的内容直接另存为 PDF。
所以 Speechless 做了以下几件事情:
- 在页面上找到需要备份用户的 UID,这通常可以通过 URL 直接获得
- 通过 Ajax 不断去拉取该用户可见的微博内容,当内容中有长文时,额外通过接口获取长文信息
- 将拉取到的微博内容,添加到页面的节点上,并且设置基本的样式和布局
- 直到所有内容都拉取完毕之后,通过点击事件触发
window.print()
,唤起 Chrome 自带的打印预览界面 - 在打印预览界面 目标打印机 选择 另存为 PDF,导出即可
- 愿人人都有自由表达的权利。
- 增加了默认的拉取时间间隔,以避免拉取过于频繁被微博限制的问题。但目前的方法仍不是最优解法,尚有较大优化空间
- 增加了拉取完成后,手动选择图片裁切样式的操作
- 增加了拉取完成后,手动选择是否展示 转、赞、评 信息的操作 @rickypeng99
- 增加了拉取过程中暂停的操作
- 使用 Weibo API 获取用户 UID 和用户名 @jingfelix
- 修复了 icon name 错误的大小写问题 @jjhhms