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


11

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

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

证据slides.pdf->打印->页面设置->每侧页面-> 4(或其他编号)

然后,我可以指示我要打印到文件并进行打印。结果是一个output.pdf文件,其中每张纸具有所需的幻灯片数量。

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

我宁愿避免使用外部包装。

如何通过命令行实现此目标?

Answers:


2

执行征收,没有什么比更好 Multivalent.jar(内最新的免费版的工具,目前托管在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

谢谢!我用了你的解决方案。它简单,不not肿,自成体系,跨平台。完善。
user84207

在源伪造上,由于版权问题而删除了PDF工具:sourceforge.net/p/multivalent/discussion/252478/thread/e7850c31/…–
Loren

20

您也可以使用pdfnup:

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

其中2x2指2行2列(或者相反-我不确定)。有关更多选项,请参见man pdfnup。


3
pdfnup工作良好。想要在一页上四次放置相同一页PDF的人的注释:您需要四次列出输入的pdf文件:pdfnup --no-landscape --a4paper --nup 2x2 input.pdf input.pdf input.pdf input.pdf
guettli 2014年

1
上述答案和评论的补充:pdfnup --nup 2x2 --frame true --noautoscale false --delta "0.2cm 0.3cm" --scale 0.90 your.pdf将使用“ your.pdf”的内容作为输入页面,在名为“ your-nup.pdf”的pdf文件的一页上打印4张幻灯片。--frame true在每张幻灯片周围打印一个框架,--delta...在框架之间指定--scale ...页边距,并确保引入页边距,以便打印机在不切断内容的情况下很好地处理作业。所有选项均在www2.warwick.ac.uk/fac/sci/statistics/staff/academic-research/…上
Cbhihe

保罗·罗伯特(Paul Robert):我知道您的答案很旧,但可以随时将我的评论纳入您的答案。我不能代表@guettli。一切都至少适用于Ubuntu 16.04。(我尚未使用最新的内核映像和软件包在滚动发行版上对其进行过测试。)干杯。
Cbhihe

顺便说一句,pdfnup在内部使用pdfpages.sty软件包,而op不想使用。我有相反的感觉:我将使用TexStudio中的pdfpages.sty包来完成这项工作。
Dominic108 '19

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.