有没有方便拿来去除双层PDF的文字层的工具

50KB

1 Like

请问该怎么实现这种效果。

PDF 本身非常复杂,其中有很多优化。很多问题的答案都可在 PDF 的规范中找到:https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf

你发的文件中就包含一种图片优化的方式(或称作格式):JBIG2。这是一种对于二值图片设计的图片压缩格式,平时很少能直接看到,从而此格式的各种库或者查看器都很少。但是这个格式对于二值图片的压缩率实在是太好了,PDF 规范也将这种格式收纳了,当然还有一些其他的图片压缩格式。

回到怎么快捷的导出楼主想要的图片,我不建议直接使用 PDF 中的 JBIG2 图片,兼容性太差了, 我还没找到一个能查看这个格式的软件。可以使用 Python 将 PDF 文件中的 JBIG2 图片拿出来,再用这个转换器 https://github.com/ArtifexSoftware/jbig2dec 转 JBIG2 到 PNG 之类的。整个流程不是特别简单,如果文字层很重要的话,可以把 PDF 发一下,我可以看看。

附上我在 #22 中的导出图所对应原始 JBIG2 图片,只有区区 5.2 KB。

1.jbig2 (5.2 KB)

1 Like

文字层去掉就好,我只需要图片,就是想在不损失质量的前提下尽可能地不增大体积,如果流程比较麻烦,不好自动化处理的话,那就算了,太折腾了,没太大必要。

如果是单纯把jp2提取成jpg或者png格式倒还有蛮多工具可以用的,就是文件体积会大上不少。

这属于很奇怪的问题,文字层就是在pdf里加了一层文本文件,体积很小,并不贡献pdf图像的占有体积。但pdf的图像是用了很多各种算法压缩过的,基本属于打包文件,压缩文件,把这些图像提取出来,属于解压缩和解包,不使用原始的压缩算法和格式,比如上面提到的JBIG2,而提取成jpg或者png,那是另外种类的(可能优化不佳的)压缩包,体积变大之类很正常。

1 Like

PDF工具好用的标准之一是尽可能保留原来的内容,再是简单易用。
cpdf -remove-all-text “withOCR.pdf” -o “NoOCR.pdf”
CPDF工具还有很多方便的功能。
CPDF.rar (2.6 MB)

1 Like

提取PDF图片和文档中的文本层没有任何关联,可以到GitHub与作者联系。

以前也关注这个功能,没有找到便捷的方法。
最好的结论是,
1,对于双层pdf,若需要纯图像型pdf,似乎没有直接的方法。需要用软件导出该双层pdf的每一页为图片文件,随后,再将这些图片文件合成pdf。
2,导出pdf为图像文件,以及合成图像文件为pdf的软件很多。可以考虑,pdfxchange,
或老马工具,
或pdf shaper,
muPDF,
pdf 24,
pdf patcher
或smallpdf这类本地软件或在线工具。