在PDF中添加白色边框(更改纸张格式)

DaS*_*eph 5 pdf imagemagick ghostscript

我必须将给定的PDF从A4(210mm*297mm)更改为216mm*303mm

每个尺寸的额外6毫米应设置为每边3毫米的白色边框。PDF页面的原始内容应在输出页面上居中。

我尝试了convert

convert in.pdf -bordercolor "#FFFFFF" -border 9 out.pdf
Run Code Online (Sandbox Code Playgroud)

这恰好为我提供了所需的结果,但是我失去了PDF中原始图像的清晰度。一切都是模糊的。

我也检查过

convert in.pdf out.pdf
Run Code Online (Sandbox Code Playgroud)

完全没有任何变化,但是也弄乱了图像。

所以我尝试了Ghostcript,但没有得到任何结果。到目前为止,我发现最好的方法是:

gs -sOutputFile=out.pdf -sDEVICE=pdfwrite -g6120x8590 \
-c "<</Install{1 1 scale 8.5 8.5}>> setpagedevice" \
-dNOPAUSE -dBATCH in.pdf
Run Code Online (Sandbox Code Playgroud)

但是我收到错误:--type在-。postinstall--中

Kar*_*l S 3

默认情况下,Imagemagick 将输入的 PDF 文件转换为 72dpi 的图像。正如您首先经历的那样,这是非常低的分辨率。Imagemagick 的输出始终是光栅图像,因此如果您输入的 PDF 是文本,则它将不再是文本。

如果您不介意输出 PDF 变大,您可以简单地使用-density选项增加 Imagemagick 探测原始 PDF 的比率,如下所示:

convert -density 600 in.pdf -bordercolor "#FFFFFF" -border 9 out.pdf
Run Code Online (Sandbox Code Playgroud)

我使用 600 是因为它是 OCR 的最佳选择。我建议尝试 300、450、600、900 和 1200,并选择最好的一个,不会变得太大。