And*_*rew 17 linux pdf ghostscript imagemagick
我知道 Ghostscript 可以将 PDF 转换为 JPG,在多页 PDF 的情况下,可以将每个页面翻录为单个 JPG。但是是否可以将它们撕成一个 JPG,以便将页面相互粘贴,例如 JPG 的上半部分是第 1 页,下半部分是第 2 页?或者我是否必须使用另一个程序(ImageMagick 可以这样做吗?)将 JPG 页面组合成一个图像?
Kur*_*fle 19
是的,您必须将每个 PDF 页面转换为单个 JPG 文件(Ghostscript 可以做到)。
然后使用另一个程序将生成的 JPG 文件拼接在一起(ImageMagick或GraphicsMagic可以使用它们的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
Run Code Online (Sandbox Code Playgroud)
这将创建名为pdffile-001.jpeg、pdffile-002.jpg等的JPG 。参数 *-dJPEGQ=95" 将“JPEG 质量”设置为 95%。它使用“600x600 dpi”的分辨率。您可能需要另外控制生成的 JPG 的页面大小,以防您的 Ghostscript 的默认值不符合您的需要:
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
Run Code Online (Sandbox Code Playgroud)
或者
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
Run Code Online (Sandbox Code Playgroud)
使用montage(ImageMagick 或 GraphicsMagick)进行多对单 JPG 拼接:
该montage命令(在本例中使用的是 ImageMagick)允许您控制平铺模式。如果你使用 eg-tile 4x3你会得到这个拼版布局:
1 2 3 4
5 6 7 8
9 10 11 12
Run Code Online (Sandbox Code Playgroud)
您可以使用此命令将 12 个单独的 JPG 拼接成一个:
montage ^
-border 0 ^
-tile 4x3 ^
c:/path/to/jpeg-dir/pdffile-*.jpeg ^
c:/path/to/final.jpg
Run Code Online (Sandbox Code Playgroud)
当然,montage还有许多附加参数,允许您为输入和生成的 JPG 确定背景、间距、偏移、装饰、标签、旋转、裁剪、标题等。
编辑:(我本来想在我的原始答案中给出这个提示,但忘记了。)montage默认情况下将使用 120x120 像素的图块大小。如果要保留每个图块的原始页面大小,则必须添加-geometry到命令行。假设您的 PDF 中有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
Run Code Online (Sandbox Code Playgroud)
编辑 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
Run Code Online (Sandbox Code Playgroud)