使用PyPDF2将文件合并到多个输出文件中

时间:2015-02-28 14:31:51

标签: python python-2.7 pdf pypdf

以下是导致问题的代码块。循环将每次附加新文件,这不是我想要完成的。例如,outputfile1是input1.pdf,outputfile2是input1.pdf + input2.pdf ...

我正在尝试将文件1x.pdf与文件1a.pdf + 1b.pdf + 1c.pdf合并到输出文件1.pdf中,然后循环执行并为2,3和4执行相同的操作。结果应该是4个单独的文件。我错过了什么?像泥一样清楚?在此先感谢您的任何帮助。

i = 1

while i < 5:
    # files to be merged

    input1 = open(Path1+str(i)+"x.PDF", "rb")
    input2 = open(Path2+str(i)+"a.PDF", "rb")
    input3 = open(Path2+str(i)+"b.PDF", "rb")
    input4 = open(Path2+str(i)+"c.PDF", "rb")

    # output files
    output_file = open("/NewFile"+str(i)+".pdf", "wb")

    # add input1 document to output
    merger.append(fileobj = input1, pages = (0, 3, 2), import_bookmarks = False)

    # insert the pages of input2 into the output beginning after the second page
    merger.append(input2)

    # insert the pages of input3 into the output beginning after the second page
    merger.append(input3)

    # insert the pages of input4 into the output beginning after the second page
    merger.append(input4)

    # Write to an output PDF document
    merger.write(output_file)
    output_file.close()

    i += 1

1 个答案:

答案 0 :(得分:1)

复活一个非常老的问题,但是遇到了这个问题,想回答这个问题,希望可以防止其他人将您的部分代码粘贴到上面并遇到相同的问题。

我只剩下猜测的余地,但是您的循环并没有创建新的merger,它只是不断地追加,追加和追加,这就是您要报告的问题。我希望,如果将合并初始化代码带入循环中(以便每次迭代都重新设置它),您将找到所需的内容。