在脚本中处理并打印PDF文件

4 投票
2 回答
1098 浏览
提问于 2025-04-16 01:07

我有几份讲座的幻灯片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文档,不过我没有看到相关的示例代码。

撰写回答