现在购买电子书比死树版本更实用。但PDF经常包含印刷版使用的空白页。我通常会在每本电子书中看到10-30个空白页(或带有文本的页面“本页故意留空。”)。是否可以以编程方式删除这些空白页?目前我手动识别空白页面,然后运行它:
pdftops orig.pdf - | psselect "$range_of_non_blank_pages" | ps2pdf - new.pdf
所以困难的部分是识别空白页面。 pdftotext大部分都可以使用,除非页面只有图像而没有文本。
此外,即使删除了许多页面并且看到生成的文件大小较小,在缩小原始文件和新版本(使用互联网上的各种方法)之后,原始文件通常会小几百KB或更多。因此,我用来删除空白页面的方法似乎没有创建最佳的pdf。我也尝试过各种gui程序,并在这方面看到相同的结果。
答案 0 :(得分:1)
部分答案:你不需要通过postscript(这可能是你获得更大文件的原因)。一种可能性是
pdftk orig.pdf cat "$range_of_non_blank_pages" output new.pdf
要识别空白页面,您需要使用一种不仅可以选择和重新组合页面的工具。尝试使用脚本语言库,例如Perl中的CAM :: PDF或PDF :: API2。
答案 1 :(得分:0)
我不知道可以检测和删除空白页面的开源解决方案。但是,Apago的商业PDF Enhancer可以自动删除空白页面 - 矢量和扫描。对于扫描,它可以在确定页面是否为空白之前删除扫描伪像,如黑边,打孔和噪声。