我知道 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.jpeg,pdf文件-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 文件。