使用ImageMagick裁剪和重新排列带有扫描单色内容的PDF(文件大小有问题)

使用ImageMagick裁剪和重新排列带有扫描单色内容的PDF(文件大小有问题),pdf,imagemagick,png,crop,monochrome,Pdf,Imagemagick,Png,Crop,Monochrome,我对ImageMagick比较陌生。到目前为止,我一直在使用它批量编辑png文件,并将它们合并到PDF中 现在我在以下项目中遇到了一个问题:我有一本扫描过的书作为PDF文件(PDF页面为DIN A4大小,每个包含两个书页,单色,400 dpi,双页周围有大量多余的黑色边距)我想对它进行修改,这样我就可以得到一个PDF文档,页面大小更小,每个页面包含一本书 我确信我的编程相当粗糙和复杂,但以下几点很有效: REM split input.pdf into single pages outputXX

我对ImageMagick比较陌生。到目前为止,我一直在使用它批量编辑png文件,并将它们合并到PDF中

现在我在以下项目中遇到了一个问题:我有一本扫描过的书作为PDF文件(PDF页面为DIN A4大小,每个包含两个书页,单色,400 dpi,双页周围有大量多余的黑色边距)我想对它进行修改,这样我就可以得到一个PDF文档,页面大小更小,每个页面包含一本书

我确信我的编程相当粗糙和复杂,但以下几点很有效:

REM split input.pdf into single pages outputXXX.png
magick -density 400 AMDP-Leitfaden.pdf -colorspace gray output%%03d.png

REM defining upper left und lower right corner positions of book pages on scanned pages
REM left page
set x1a=1086
set y1a=0
set x2a=2883
set y2a=2895
REM right page
set x1b=2883
set y1b=0
set x2b=4680
set y2b=2895

REM calculating page widths and heights
set /a x2aminusx1a = %x2a% - %x1a%
set /a y2aminusy1a = %y2a% - %y1a%
set /a x2bminusx1b = %x2b% - %x1b%
set /a y2bminusy1b = %y2b% - %y1b%

REM cutting out left and right pages out of the outputXXX.png files and saving them as pXXXa.png and pXXXb.png, respectively
magick output*.png -crop "%x2aminusx1a%x%y2aminusy1a%+%x1a%+%y1a%" p%%03da.png
magick output*.png -crop "%x2bminusx1b%x%y2bminusy1b%+%x1b%+%y1b%" p%%03db.png

REM combining p*.png into one PDF file result.pdf
magick p*.png -units PixelsPerInch -density 400 -page "%x2aminusx1a%x%y2aminusy1a%" result.pdf
result.pdf看起来不错,但我对结果文件大小不满意:添加所有outputXXX.png文件的文件大小,它们的大小是原始input.pdf的两倍多!(将它们裁剪并重新组合到result.pdf文件中不会有太大的变化,所以这一步似乎没问题。)

我怀疑颜色空间有问题——有没有办法保留单色的颜色空间而不是使用灰色的颜色空间?我找不到类似的东西-彩色空间单色。另一方面,添加如下内容

magick p*.png -monochrome m%%03d.png
将png文件的大小减少40%,但是由所有m*.png文件组成的最终result.pdf文件的大小是(单色)png文件大小总和的两倍多,因此此步骤在文件大小(和/或colar空间处理)方面也可能有问题

有人能帮忙吗?对于如何解决这个问题的任何提示,我都非常感激——而像“为什么不完全放弃ImageMagick,改用XYZ?”这样的答案,如果没有进一步的细节,对我来说可能有点难以理解。;-)提前谢谢


另外,在Windows 10 Home 20H2系统上使用ImageMagick 7.0.10-30 Q16 x64 2020-09-19。

PNG使用过滤和压缩来减少文件大小。您是否尝试在PDF创建中使用压缩?按照
magick*.png-compress LZW output.pdf
的思路,您可以使用
magick identifite-list compress
获得各种类型的压缩,以尝试其他压缩。