我想转换一个pdf文件与ImageMagick的黑白PDF文件。但是我有两个问题:我使用这个命令:
convert -colorspace Gray D:\in.pdf D:\out.pdf-density 300选项,文件大小已经增加了一倍多。所以我想用同样的DPI设置,但是怎么用呢?非常感谢
发布于 2013-06-19 14:15:02
假设安装了所有必要的命令行工具,您可以执行以下操作:
pdfseparate和pdfunite (波普尔工具)拆分和连接PDF。pdfinfo + grep/egrep以及例如sed提取原始密度。这不能保证PDF文件的大小相同,只是相同的DPI。将所有这些放在一起,您可以得到一系列bash命令,如下所示:
pdfseparate in.pdf temp-%d.pdf; for i in $(seq $(ls -1 temp-*.pdf | wc -l)); do mv temp-$i.pdf temp-$(printf %03d $i).pdf; done
for f in temp-*.pdf; do convert -density $(pdfinfo $f | egrep -o 'Page size:[[:space:]]*[0-9]+(\.[0-9]+)?[[:space:]]*x[[:space:]]*[0-9]+(\.[0-9]+)?' | sed -e 's/^Page size:\s*//'| sed -e 's/\s*x\s*/x/') -colorspace Gray {,bw-}$f; done
pdfunite bw-temp-*.pdf out.pdf
rm {bw-,}temp-*.pdf注1:对于10-999页PDF的正确排序(我不知道如何在(for/wc/seq/printf)中放置前导零),这是一个很脏的解决方法。
注2:我猜ImageMagick将PDF作为另一个二进制图像文件来处理,因此,例如,对于主要的文本文件,这将导致巨大的PDF。因此,这是将基于文本的PDF转换为B&W的非常糟糕的方法。
https://stackoverflow.com/questions/14667700
复制相似问题