使用 Ghostscript 将多页 PDF 转换为单个 JPG?

使用 Ghostscript 将多页 PDF 转换为单个 JPG?

我知道 Ghostscript 可以将 PDF 转换为 JPG,如果是多页 PDF,可以将每页翻录为单独的 JPG。但是是否可以将它们翻录为一个 JPG,以便页面相互粘贴,例如 JPG 的上半部分是第 1 页,下半部分是第 2 页?或者我必须使用另一个程序(ImageMagick 可以做到这一点吗?)将 JPG 页面合并为一张图片?

答案1

是的,您必须将每个 PDF 页面转换为单个 JPG 文件(Ghostscript 可以做到这一点)。

然后使用另一个程序将生成的 JPG 文件拼接在一起(图像魔术师或者图形魔术可以使用它们的montage子命令来做到这一点)。

我不知道有任何软件可以一次性完成这一操作。

PDF 到 JPG 的转换(使用 Ghostscript): 您需要确保获得最佳结果。因此,请确保调整命令行选项,使其适合您。从这个开始:

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

这将创建名为pdf文件-001.jpegpdf文件-002.jpg等等。参数 *-dJPEGQ=95" 将“JPEG 质量”设置为 95%。它使用“600x600 dpi”的分辨率。如果 Ghostscript 的默认设置不符合您的需求,您可能需要额外控制生成的 JPG 的页面大小:

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -dPDFFitPage ^
    -dFIXEDMEDIA ^
    -dDEVICEWIDTHPOINTS=800 ^
    -dDEVICEHEIGHTPOINTS=600 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

或者

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -dPDFFitPage ^
    -dFIXEDMEDIA ^
    -sDEFAULTPAPERSIZE=a4 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

montage使用(ImageMagick 或 GraphicsMagick)将多张 JPG 拼接成一张 JPG :montage命令(本例中使用的是 ImageMagick)允许您控制平铺模式。如果您使用例如,-tile 4x3您将获得此拼版布局:

1  2  3  4    
5  6  7  8    
9 10 11 12    

您可以使用此命令将 12 个单独的 JPG 拼接成一个:

montage ^
    -border 0  ^
    -tile 4x3  ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg  ^
    c:/path/to/final.jpg

当然,montage还有许多附加参数允许您确定输入和生成的 JPG 的背景、间距、偏移、装饰、标签、旋转、裁剪、标题等。


编辑:(我本来想在最初的回答中给出这个提示,但忘了。)montage默认情况下将使用 120x120 像素的图块大小。如果您想保留每个图块的原始页面大小,则必须-geometry在命令行中添加。假设您有A4(=595x852 pt) 页面,并且您想要保留这个页面,但也要在水平方向添加 11pt 的间距,在垂直方向添加 22 pt 的间距(加上每个图块周围的 4pt 强灰色边框/框架线),请执行以下操作:

montage ^
    -border 4 ^
    -tile 4x3 ^
    -geometry 595x842+11+22 ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg ^
    c:/path/to/final.jpg

编辑2:(还错过了另一个重要提示。)如果您不想在拼接/蒙太奇过程中丢失 PDF 到 JPG 转换所创建的良好图像质量,那么还可以将参数添加-quality 100到命令行中,如下所示:

montage ^
    -border 4 ^
    -tile 4x3 ^
    -geometry 595x842+11+22 ^
    -quality 100 ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg ^
    c:/path/to/final.jpg

答案2

由于 ImageMagick 内置了对 GhostScript 的支持,因此您可以一次性完成整个操作:

montage -tile 5 thispdfis25pages.pdf tiledoverview.jpg

它将把每一页首尾相连并创建一个长 jpeg 文件。

相关内容