Как я могу удалить каждую другую страницу PDF с python? - PullRequest
0 голосов
/ 14 января 2020

Я скачал PDF, где все остальные страницы пусты, и я хотел бы удалить пустые страницы. Я мог бы сделать это вручную в инструменте pdf (Adobe Acrobat, Preview.app, PDFPen и т. Д. c.), Но так как это несколько сотен страниц, я бы хотел сделать что-то более автоматизированное. Есть ли способ сделать это в python?

1 Ответ

3 голосов
/ 14 января 2020

Одним из способов является использование pypdf, поэтому сначала выполните в своем терминале

pip install pypdf4

Затем создайте файл сценария .py, подобный следующему:

# pdf_strip_every_other_page.py

from PyPDF4 import PdfFileReader, PdfFileWriter

number_of_pages = 500
output_writer = PdfFileWriter()
with open("/path/to/original.pdf", "rb") as inputfile:
    pdfOne = PdfFileReader(inputfile)

    for i in list(range(0, number_of_pages)):
        if i % 2 == 0:
            page = pdfOne.getPage(i)
            output_writer.addPage(page)

    with open("/path/to/output.pdf", "wb") as outfile:
        output_writer.write(outfile)

Примечание: вам нужно изменить пути на подходящие для вашего сценария.

Очевидно, что этот сценарий довольно грубый и его можно улучшить, но он хотел бы поделиться им с кем-то, кто хочет быстро разобраться с этим. этот сценарий.

...