我们在一个具有不同页面大小的文件夹(即A4,更奇怪的)中有大约100个PDF,但都具有A4长宽比。现在我们需要将所有大小调整为相同的大小,即A4。
目前我们正在使用Sejda来合并每个批处理文件中的一些PDF。因此,我们更喜欢每个批处理文件的解决方案。
In this question他们在其他解决方案中建议使用PDFtk或PDF拆分和合并,但他们似乎不提供此功能。还有其他任何方法或提示吗?
答案 0 :(得分:4)
您可以尝试使用Ghostscript。以下命令将每个PDF调整为A4:
for input in *.pdf ; do
gs \
-o A4-resized-${input} \
-sDEVICE=pdfwrite \
-dPDFFitPage \
-g5950x8420 \
-dPDFSETTINGS=/prepress \
${input}
done
此命令将从所有输入文件创建合并的PDF,并在此过程中调整每个页面的大小:
gs \
-o A4-resized-${input} \
-sDEVICE=pdfwrite \
-dPDFFitPage \
-g5950x8420 \
-dPDFSETTINGS=/prepress \
*.pdf
如果shell通配符*.pdf
没有根据自己的喜好对页面进行排序,则必须自己执行:
[...gs-cmd...] input1.pdf input2.pdf input3.pdf [input4.pdf ...]
警告 :在这些情况下,第二个选项(合并和调整各个PDF的大小)可能会导致合并PDF中的字体出现问题:
XAGTRU+
)根本不是唯一的,而是可预测的。众所周知,OpenOffice / LibreOffice和其他PDF生成器始终以({1}},BAAAAA+
,CAAAAA+
开头的前缀(可预测)。这导致输入PDF注入的DAAAAA+
子集字体的多个实例 不 唯一但 不同 仍然使用相同的名称。