首页 > 解决方案 > 使用python打印pdf特定页面的硬拷贝

问题描述

我正在使用 Windows 机器,我想打印 pdf 的所有奇数页。页面列表很长,所以有没有办法使用 python 来自动化呢?

标签: pythonpdf

解决方案


您可以使用 pyPDF2 将 PDF 拆分为奇数页和偶数页。

from PyPDF2 import PdfFileReader, PdfFileWriter

pdf_document = "your_file.pdf"
pdf = PdfFileReader(pdf_document)

# Output files for new PDFs
output_filename_even = "even.pdf"
output_filename_odd = "odd.pdf"

pdf_writer_even = PdfFileWriter()
pdf_writer_odd = PdfFileWriter()


for page in range(pdf.getNumPages()):
    current_page = pdf.getPage(page)
    if page % 2 == 0:
        pdf_writer_odd.addPage(current_page)
    else:
        pdf_writer_even.addPage(current_page)

# Write the data to disk
with open(output_filename_even, "wb") as out:
     pdf_writer_even.write(out)
     print("created", output_filename_even)


with open(output_filename_odd, "wb") as out:
     pdf_writer_odd.write(out)
     print("created", output_filename_odd)

推荐阅读