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

时间:2010-07-11 11:58:12

标签: python pdf-generation

我有几个讲座幻灯片的pdf文件。我想要执行以下操作:将每个pdf文件打印到另一个pdf文件,其中每页有6个幻灯片,然后将所有生成的文件合并到一个大文件,同时确保每个原始文件都以奇数页码开头(编辑:显然,它将以双面打印)(可能在必要时添加空白页)。 这可能吗?

编辑:对于那些感兴趣的人来说,这是为了打印大量的考试课程材料......我需要为很多课程这样做。

2 个答案:

答案 0 :(得分:3)

如果是我,我会使用PDFjam或类似工具在每个源文档上执行6-up。

然后我会使用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也支持使用resize和relocate合并页面,所以从理论上讲,它也适用于创建n-up文档,虽然我没有看到示例代码。

答案 1 :(得分:1)

要在一个页面上放置多张幻灯片,PDFjam包中的pdfnup是您的朋友。

插入空白页面,我不确定;也许你可以说服pdfjam这样做。但是,您不能在打印设置中关闭双面打印吗?