我把一个 77MB 的 PDF 电子书,变成了 23MB ,还更清晰了

效果预览

这是原始 PDF:

image.png

这是优化后:

image.png

放大查看细节

原始 PDF 放大:

image.png

优化后放大:

image.png

为什么能缩小体积的同时还变清晰

原始 PDF 有 328 页,每一页都是裁切后的照片,分辨率为 1053 x 1573,DPI 72,即使平均每一页大小为 250KB,那么整个 PDF 文件也有 82MB。

如果里面的所有文字,都是使用的矢量字体,那么体积就会小到几 MB 不到,就像是一个百万字的 txt 小说也不过 1MB 而已。

其实优化后的 PDF,就是将图片进行了优化,去除背景,变成纯白背景,降噪,合成为 PDF, 再 OCR,将图片里面的文字部分替换为矢量文字。

优化流程

工具

提取照片

用 Acrobat 打开 PDF,导出为 JPG

照片优化

使用 Waifu2x Extention GUI,将图片进行 2x 放大,降噪 2 级,图片类型选择 2D 动漫,输出格式为 jpg,质量 100

不能使用 PNG 输出,因为 PNG 在 Acrobat 中合并为 PDF 时,会被转换为 JPG,并且会降低品质,导致字体周围有噪点,使得 OCR 的效果下降,生成的矢量字体曲线不够光滑,观感差。

Waifu2x 是一个人工智能图片放大模型,可以生成效果非常好的放大图片

将图片放大,是为了让 OCR 生成的矢量字体边缘更平滑,看起来更舒服。如果图片分辨率太小、噪点多,OCR 生成的矢量字体就会边缘粗糙、观感甚至不如原来低分辨率的图片

我是没有独显的笔记本,R5-4800H 处理器,纯 CPU 处理,速度大约 7 秒一张图片

看下输出前后的对比:

image.png

image.png

然后到 Photoshop 中,将图片模式转为灰度,使用曲线,调高对比度,将背景杂色进一步去掉:

image.png

合并所有图层

将 DPI 在分辨率不变下调成 144 或者更高

为了让 OCR 生成的字体曲线更平滑好看,我们在 Waifu2x 中,将图片进行了 2x 放大。

但是为了让文字之外的图片体积小些,就需要在 OCR 之后,降低图片的分辨率。

之后在 Acrobat OCR 步骤中可以调整 OCR 后图片的 DPI,例如 72。

所以提前将图片设为较高的 DPI,就可以在 OCR 步骤完成后将图片分辨率降低。减小体积占用

以 100 的品质保存到原来的 JPG 文件。

将上述 PS 中的操作,在动作面板中录制为动作,对其它图片运行批处理:

image.png

image.png

合并为新 PDF

将批处理后的图片全选,在 Acrobat 中合并,使用最高品质,将合并好的 PDF 保存,此时它的大小可能有几个 GB。

然后使用 OCR 工具,设置如下:

image.png

然后静待识别完成,所有的文字都变成了矢量

保存为新 PDF,体积暴减:

image.png

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • imshf
    支持者 订阅者

    厉害了