惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
博客园_首页
T
Tailwind CSS Blog
美团技术团队
博客园 - 叶小钗
Microsoft Security Blog
Microsoft Security Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Y
Y Combinator Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
如何在本地将 DjVu 转换为 PDF:一次初步尝试 - 少数派
2018-06-26 · via 少数派

DjVu 是一种常见于互联网的扫描版的电子书分发格式由于把内容部分和背景部分分开保存DjVu 格式的电子书能在较小体积的前提下仍然保证内容部分的锐利。许多老旧教材的电子版版本通常只能找到扫描版本,这类扫描版本通常是 DjVu 格式。

然而将 DjVu 转换为 PDF 的需求仍然存在因为在不少系统上围绕 DjVu 搭建的基础设施极为有限譬如在 iOS 上,对于 DjVu 格式的文档目前我只找到了一款叫做 BiLibre 的应用能够一定程度上支持使用 Apple Pencil 批注这款程序还只是一个 KyBook 的程序的试验田而已而反观 PDF,许多应用间能够直接传输导入阅读批注 PDF可以说一整套工具都是围绕着 PDF 搭建的。在移动设备上采用 PDF 而不是 DjVu 格式进行阅读相对来说自然是一种更优的选择。

线上一些网站将 DjVu 转换为 PDF 之后在锐度严重损失的前提下体积通常会膨胀数十倍这些线上工具也通常并未提供任何可以调整的参数可能由于需求较少目前也基本没有在本地找到一套完整可控的工具链能完成从 DjVu 到 PDF 的转换操作。因此我们开始尝试手动完成这一转换。

将 DjVu 转换为 PDF

目前探索来看比较好的一对工具是 DjVuLibre 和 Ghostscript

DjVuLibre 是个开源的 DjVu 处理包它提供了一个简易的图形化界面能够进行简单的 DjVu 阅读它的一系列命令行工具能够比较好地进行 DjVu 的制作解包工作能把 PDF 以及许多图像格式转换为 DjVu它同时也提供了编程库被 SumatraPDF 等阅读器作为 DjVu 底层支持库使用

Ghostscript 则是老牌的 PostScript 处理程序同样包括了用于阅读的图形化界面和一系列命令行脚本这一系列程序被包含在 TeXLive 发行版中

因此本文提出一种可行的操作是使用 DjVuLibre 中的 djvups 命令将 DjVu 文件转换为 PostScript 格式然后使用 Ghostscript 中的 ps2pdf 将 PostScript 格式的文件重新转换为 PDF这样我们几乎得到了高质量的 PDF 原稿

命令行操作的伪代码如下

djvups [djvu-file-name] [ps-file-name] [-verbose] [-page='1,3,7-10'] [-..]
ps2pdf [ps-file-name] [pdf-file-name]

要注意的是如果没有提前将可执行文件的目录添加到 Path 中两条命令均需要替换为实际的文件路径Windows 下 ps2pdf 是个 bat 脚本因此要注意把拓展名包含在内因为有个不含拓展名的文件实际上是个 Bash 脚本另外在 djvups 中-verbose 可以显示一个简易的进度条-page='1,3,7-10' 选择转换的页码还有后续更详细的设置能调整 PostScript 的分辨率颜色和灰度等

文章完成后经过提醒我注意到在 superuser 上对于这一过程有一定程度的介绍可供参考。但最方便的 djvu2pdf 是 shell 脚本,并未提供 Windows 版本

压缩 PDF 的体积

可惜的是文件体积膨胀的问题仍没得到很好的解决甚至可以说远远超出我的想象原本 37 MB 的 DjVu 文件转换为 PostScript 文件后有 7.7 GB 之大再次转换为 PDF 之后也有 1.44 GB体积非常可观下一步我们只能看看能否在合理范围内缩减体积无论是从最后压缩 PDF 还是基于损失 PostScript 文件的前提之下Adobe Acrobat 将其转换为压缩体积的 PDF 能将体积减小到 242 MB略小于线上转换出的 343 MB两者的实际效果相差不大

在 Adobe Acrobat DC Pro 进行 ClearScan 操作

如果想要进一步地缩小文件大小只能尝试一种被称为 ClearScan 的操作这种优化与压缩的方案在 Adobe 的产品博客上有较为详尽的比较和介绍这种优化方案简单说就是讲文本部分进行 OCR 处理并构建一套共享的字体通过这套共享的字体来优化体积在 Adobe Acrobat DC Pro 中这种操作的名字略有变化选项位置藏在工具 – 优化扫描的页面 – 文本识别选项 – 编辑 – 输出 – 可编辑的文本和图像这可以说是 DjVu 思路的 PDF 压缩方案把前景的内容和背景分离效果可以说见仁见智但总体而言对于原本高分辨率的原稿效果还是可以接受的在我的实验之下最终效果是把前文所述的 343 MB 的文件压缩到 172 MB但这种操作由于涉及 OCR 的操作因此耗时比较恐怖可以考虑睡前进行

本文提供的方案只是一种可行的本地操作方案而已多了一种选择但实际操作上只能说还是要在体积和质量上做艰难的取舍。