Как я могу повернуть каждую страницу в PDF с Python / PyPDF4? - PullRequest
0 голосов
/ 22 марта 2020

Я отсканировал кучу бумаг в pdf, но они, кажется, все повернуты, есть ли способ повернуть страницы с помощью python?

Я видел вопрос в Python - Пакетное вращение PDF с PyPDF2 , но я ищу более универсальное c решение.

1 Ответ

0 голосов
/ 22 марта 2020

Лучшим ресурсом для документации PyPDF4 на момент написания этой статьи является пример кода PyPDF4 - https://github.com/claird/PyPDF4/blob/master/samplecode/basic_features.py

Глядя на это, можно написать простой скрипт для этого:

# pdf_rotate_every_page.py

from PyPDF4 import PdfFileReader, PdfFileWriter
from sys import argv, path, stderr

from os.path import abspath, basename, dirname, join

USAGE = "Rotate every page in a PDF. Call script with single pdf file as input argument"

def main():
    output_writer = PdfFileWriter()

    if len(argv) < 2:
        print(USAGE)
        exit(1)
    else:
        inputpath = argv[1].strip()
        filename = basename(inputpath)[:-4]

        if len(argv) > 2:
            output = argv[2].strip()

    with open(inputpath, "rb") as inputf:
        pdfOne = PdfFileReader(inputf)
        numPages = pdfOne.numPages

        for i in list(range(0, numPages)):
            page = pdfOne.getPage(i).rotateClockwise(180)
            output_writer.addPage(page)

        with open(filename + "_rotated.pdf", "wb") as outfile:
            output_writer.write(outfile)


if __name__ == "__main__":
    main()
...