在特定位置“放置”字母大小的 PDF 到较大的 pdf

在特定位置“放置”字母大小的 PDF 到较大的 pdf

露露是一种按需打印服务。创作过程的一部分是上传封面。 “封面”为 1 页,尺寸为 17.25 英寸宽 x 11.25 英寸高。所有边缘都有 0.125 的“出血区域”,打印后将被切除。除去出血线,左边8.5英寸是后盖,右边8.5英寸是前盖。请参阅下图以获得视觉辅助。

我有一个 1 页的 pdfcover-page.pdf信纸,我想用它作为封面。

$ pdfinfo cover-page.pdf | grep Size
Page size:      612 x 792 pts (letter)

仅使用开源命令行工具,我想根据上面的规范创建一个新文件 ,cover.pdfcover-page.pdf其“放置”在封面模板的右侧。

露露封面

我研究过使用 pdftk、ImageMagick 和 Ghostscript。在阅读了 pdftk 可用的命令后,这似乎是错误的工具。我尝试使用 ImageMagick 并制作了以下内容:

 convert cover-page.pdf \
   -background white -gravity SouthEast -extent 1233x801 \
   -background white -gravity None -extent 1242x810 \
   cover.pdf

这可行,但它使用光栅转换。

我最后研究的是 Ghostscript。我对自己的ghostscript能力最没有信心,但我确实取得了一些进步。我设法使用 .txt 文件创建了一个具有正确尺寸的空白 pdf gs -sDEVICE=pdfwrite -o cover.pdf -dDEVICEWIDTHPOINTS=1242 -dDEVICEHEIGHTPOINTS=810。但是,一旦我添加-dPDFFitPage -f cover-page.pdf处理文件,页面大小就会改变810 x 1048.24并且页面会旋转。我认为这是为了“适合”的纵横比cover-page.pdf。所以,我最后的(不成功的)命令是:

gs \
  -sDEVICE=pdfwrite -o cover.pdf \
  -dDEVICEWIDTHPOINTS=1242 -dDEVICEHEIGHTPOINTS=810 \
  -dPDFFitPage -f cover-page.pdf

答案1

pdfjam,像 Texlive 这样的 TeX 发行版中的一个工具就可以解决这个问题。命令将是

pdfjam -o cover.pdf --papersize '{17.25in,11.25in}' --noautoscale true --nup 2x1 cover-page.pdf '{},1'

pdfjam依赖于 LaTeXpdfpages包。默认情况下,它在每个输出页面放置一个输入页面,缩放输入以适合纸张,并将其居中。此处,--nup 2x1指示每个输出页面放置两个输入页面,并且--noautoscale true,不按比例缩放(正如您可能已经猜到的!)。作为输入页面,我使用了空白页 ( {}) 和输入文档的第一页 ( 1);默认情况下,输入页面之间不添加间距。

相关内容