布局PDF文档每页的多页。
项目描述
Pdfnup 是一个Python模块和命令行工具,用于布局PDF文档每页的多页。使用它,您可以创建一个新的PDF文档,其中每个页面都包含来自原始PDF文件的一些最小化页面。
目前,pdfnup 应用于所有页面大小相同的文档,并且每张纸上的半平方页码在ISO A系列纸张大小上效果最佳。
基本上,pdfnup 包装了由 Mathieu Fenniak 编写的 pyPdf 包,该包不提供此类工具,无法轻松地从命令行或Python模块中使用核心功能。《Pdfnup》本身在很大程度上受到了 Henning von Bargen 编写的某些代码的启发 - 感谢,Henning!
本发行版提供了对文件对象和StringIO对象的全支持,包括输入文档和输出文档,并修复了命令行调用脚本中的一个讨厌的小错误。
功能
将指定PDF文档的最小化页面保存到新的PDF文档中
每页放置n页,其中n为平方或半平方
自定义布局顺序,包括水平和垂直方向
旋转页面以使它们具有相同的格式
允许输出文件的图案
支持输入和输出文档的文件样对象
安装一个名为 pdfnup.py 的Python模块
安装一个名为 pdfnup 的 Python 命令行脚本
提供 Unittest 测试套件
历史
2012-06-19 (0.4.2):在 pyPdf 1.13 中删除 ImmutableSet 后修复了一个错误。
示例
您可以将 pdfnup 作为 Python 模块使用,例如在以下交互式 Python 会话中
>>> from pdfnup import generateNup >>> >>> generateNup("file.pdf", 8, verbose=True) written: file-8up.pdf >>> >>> generateNup("file.pdf", 8, dirs="LD", verbose=True) written: file-8up.pdf >>> >>> f = open("file.pdf") >>> generateNup(f, 8, outPathPatternOrFile="out-%(n)dup.pdf", verbose=True) written: out-8up.pdf
此外,还有一个名为 pdfnup 的脚本,可以更方便地从系统命令行使用,如下所示(在命令行中输入 pdfnup -h 可以看到更多示例)
$ pdfnup -V file.pdf written: file-4up.pdf $ pdfnup -V -n 8 file.pdf written: file-8up.pdf $ pdfnup -V -n 8 -l LD file.pdf written: file-8up.pdf $ pdfnup -V -n 9 /path/file[12].pdf written: /path/file1-9up.pdf written: /path/file2-9up.pdf $ pdfnup -V -n 8 -o "%(dirname)s/foo.pdf" /path/file.pdf written: /path/foo.pdf