将多个 pdf 片段合并到一页 - 顶部对齐,无边距

将多个 pdf 片段合并到一页 - 顶部对齐,无边距

我有多个小片段作为 PDF 文件,根据用户输入,这些片段必须合并为一页。

pdfjam 和/或 pdfnup 可以做到这一点,并且有效。但是,默认布局是根据pdfpages 文档

插入的逻辑页面默认位于纸张的中心。

我需要将各个 PDF 合并到一页,从顶部开始,并且它们之间没有空格/边距。

我当前的命令如下:

pdfnup 1.pdf 1a.pdf 2.pdf 2a.pdf --nup 1x4 --no-landscape --outfile test.pdf 

除了 pdfjam 之外的其他解决方案也可以。

答案1

ImageMagick 对于 PDF 来说是一个糟糕的想法,因为它会发生光栅化(无意冒犯另一个回复,他只是想提供帮助)

更好的答案可以在如何使用 pdftk 将多个 PDF 文件合并到一页上?总结如下:

pdfjam Page1.pdf Page2.pdf --nup 2x1 --landscape --outfile Page1+2.pdf

答案2

您可以使用图像魔术师为此。它有大量的选项,但如果你深入研究它,你会发现它很容易掌握。查看所有命令行选项的概述这里对于您的问题,我使用了以下选项:

  • -compress jpeg:将 pdf 片段转换为 jpeg 格式,然后再放入新文档中。我认为您也可以省略此选项,这样 pdf 将在新文档中保留为 pdf(未经测试)。
  • -extent:将页面设为 A4 大小,分辨率为 150 dpi。检查纸张大小和分辨率所需的尺寸。150 dpi 的 A4 大小为 1240x1753 像素。
  • -resize:调整图像/pdf 的大小以适应 150 dpi 的 A4 尺寸范围。如果您不想调整原始 pdf 的大小,则可以省略此项。使用与 -extent 相同的几何图形。
  • -gravity: 告诉您图片在页面上的位置。西北是左上角。
  • -units 和 -density:设置倾角(在本例中我选择了 150 dpi)

请注意,操作顺序是相关的(按顺序执行)。因此,-gravity 需要放在 extend 之前。或者,如手册中所述:

如果 -gravity 设置出现在另一个具有指定偏移的几何参数的选项或设置之前,则偏移通常应用于 -gravity 参数建议的图像内的点。

所以我的全部命令是:convert *.pdf -compress jpeg -resize 1240x1753 -gravity NorthWest -extent 1240x1753 -units PixelsPerInch -density 150x150 output.pdf

答案3

我所做的是生成空白页并添加它们,以便使前两页在纵向模式下顶部对齐

假设您的 input.pdf 有两页,每页-c showpage添加一页空白,这两个命令将保存 output.pdf,并将两页顶部对齐:

gs -q \
 -o tempfile.pdf \
 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dSAFER -r300 \
 -dCompatibilityLevel="1.5" -dPDFSETTINGS="/printer" \
 -dColorConversionStrategy=/LeaveColorUnchanged \
 -dSubsetFonts=true -dEmbedAllFonts=true \
 -dFIXEDMEDIA \
 -f input.pdf -c showpage -c showpage
pdfjam -q tempfile.pdf --nup 2x2 \
 --frame false --trim '-6mm -4mm -6mm -4mm' --clip \
 --outfile output.pdf

您可以将 frame 设置为 true 并调整 trim(分别从左、下、右和上修剪输入页面的量)以使输出页面尽可能靠近页面边界

相关内容