我有多个小片段作为 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(分别从左、下、右和上修剪输入页面的量)以使输出页面尽可能靠近页面边界