是否可以使用 Python 合并单独的 PDF 文件?
假设是这样,我需要进一步扩展它。我希望遍历目录中的文件夹并重复此过程。
而且我可能会碰运气,但是是否可以排除每个 PDF 中包含的页面(我的报告生成总是会创建一个额外的空白页面)。
使用Pypdf或其继任者PyPDF2:
一个作为 PDF 工具包构建的纯 Python 库。它能够: 逐页拆分文档, 逐页合并文档,
一个作为 PDF 工具包构建的纯 Python 库。它能够:
(以及更多)
这是一个适用于两个版本的示例程序。
#!/usr/bin/env python import sys try: from PyPDF2 import PdfFileReader, PdfFileWriter except ImportError: from pyPdf import PdfFileReader, PdfFileWriter def pdf_cat(input_files, output_stream): input_streams = [] try: # First open all the files, then produce the output file, and # finally close the input files. This is necessary because # the data isn't read from the input files until the write # operation. Thanks to # https://stackoverflow.com/questions/6773631/problem-with-closing-python-pypdf-writing-getting-a-valueerror-i-o-operation/6773733#6773733 for input_file in input_files: input_streams.append(open(input_file, 'rb')) writer = PdfFileWriter() for reader in map(PdfFileReader, input_streams): for n in range(reader.getNumPages()): writer.addPage(reader.getPage(n)) writer.write(output_stream) finally: for f in input_streams: f.close() output_stream.close() if __name__ == '__main__': if sys.platform == "win32": import os, msvcrt msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) pdf_cat(sys.argv[1:], sys.stdout)