通过命令行将 PDF 转换为每张纸有多页的 PDF

通过命令行将 PDF 转换为每张纸有多页的 PDF

假设我希望slides.pdf每页包含 4 张幻灯片。

我可以slides.pdf在 evince(默认的 Ubuntu 文档查看器)下打开一个文档

evince slides.pdf-->打印-->页面设置-->每面页数-->4(或其他数字)

然后,我可以指示我想打印到文件,然后打印。结果是一个output.pdf每张纸包含所需幻灯片数量的文件。

我想通过命令行实现相同的功能(因为我需要将其合并到脚本中)。到目前为止,我发现的所有解决方案都是依赖外部工具的。例如,我尝试安装pdfjam(这需要我安装 88.1 MB 的软件包才能texlive-latex-base实现我已经拥有的功能!),结果只是失败了pdfjam ERROR: LaTeX package pdfpages.sty is not installed

我宁愿避免使用外部包。

如何通过命令行实现这一点?

答案1

执行征收,没有什么比 多价罐(最新的免费版本,其中包含工具,最新的 Multivalent 版本目前托管在 sourceforge 上 - 2009 - 没有更多的 pdf 工具)

您可以从以下位置下载使用工具构建的 Multivalent.jar:

在线人 -http://multivalent.sourceforge.net/Tools/pdf/Impose.html

使用:

java -cp path...to/Multivalent.jar tool.pdf.Impose -dim (rowsxcols) -paper (paper sizes where pages will be imposed) file.pdf

答案2

您也可以使用 pdfnup:

pdfnup --nup 2x2 --no-landscape file.pdf

其中 2x2 指的是 2 行 2 列(或者反过来——我不确定)。请参阅 man pdfnup 了解更多选项。

答案3

对我来说pdfnup是不可用的,并且虽然pdfxup没有工作, pdfjam但是:

pdfjam --nup 2x2 <infile>

要指定输出文件名(代替自动生成的文件名),请使用选项--outfile

pdfjam --nup 2x2 <infile> --outfile <outfile>

答案4

我发现唯一可以做到这一点并得到维护的工具是 PyPDF2https://pythonhosted.org/PyPDF2/index.html

您可以在以下位置看到一些示例代码:https://superuser.com/a/1508283/590044

相关内容