Код: Выделить всё
from PyPDF2 import PdfReader, PdfWriter, PageObject
def scale_pages(page1):
scale_page = PageObject.create_blank_page(width=842, height=595) # Landscape A4 size
if page1:
page1.add_transformation([842/595, 0, 0, 842/595, 0, 595-842])
scale_page.merge_page(page1)
return scale_page
def create_new_pdf(input_pdf, output_pdf):
with open(input_pdf, 'rb') as infile:
reader = PdfReader(infile)
num_pages = len(reader.pages)
writer = PdfWriter()
for i in range(0, num_pages, 2):
page1 = reader.pages[i]
new_page = scale_pages(page1)
writer.add_page(new_page)
with open(output_pdf, 'wb') as outfile:
writer.write(outfile)
input_pdf = 'input.pdf'
output_pdf = 'output.pdf'
create_new_pdf(input_pdf, output_pdf)
страница вывода
Я попробовал использовать Transformation(), но результат тот же. Я ожидаю, что масштабированная страница займет всю ширину новой страницы (и пробелы есть!)
Подробнее здесь: https://stackoverflow.com/questions/790 ... d-cropping