在脚本中处理并打印PDF文件
我有几份讲座的幻灯片PDF文件。我想做以下事情:把每个PDF文件打印成另一个PDF文件,每页放6张幻灯片,然后把所有生成的文件合并成一个大文件,同时确保每个原始文件从奇数页开始(补充说明:显然,这将是双面打印)(可能需要在必要时添加空白页)。这样做可以吗?
补充说明:对于感兴趣的人来说,这是为了打印大量的课程材料以备考试……而且我需要为很多课程做这个。
2 个回答
1
如果你想在一页上放多个幻灯片,可以使用来自PDFjam软件包的pdfnup
工具,它会很有帮助。
至于插入空白页,我不太确定;也许你可以让pdfjam来处理这个问题。不过,你在打印设置中是不是可以直接关闭双面打印呢?
3
如果是我,我会使用PDFjam或者类似的工具,把每个源文件处理成6个页面在一张纸上。
然后,我会用PyPDF来计算每个文件的页数,如果需要的话加一页空白页,然后把其他页面合并在一起。大概是这样的:
blank_page = PDFFileReader('blank.pdf').pages[0]
dest = PDFFileWriter()
for source in sources:
PDF = PDFFileReader(source)
dest.addPage(PDF.pages)
if PDF.numPages % 2: #odd number of pages in source
dest.addPage(blank_page)
看起来PyPDF也支持合并页面,并且可以调整大小和位置,所以理论上,它也应该能用来创建n-up文档,不过我没有看到相关的示例代码。