Wenn Sie A4 PDF alle zwei Seiten links und rechts zuweisen möchten, um A3 zu erstellen,
"A4 PDF wird auf zwei Seiten an A3 angehängt (2in1) - Python (PyPDF2)" https://qiita.com/miko/items/054b982700c6219c7fce
Ich habe es gefunden, also werde ich es ein wenig arrangieren. Mit anderen Worten, wenn Sie beispielsweise ein PDF mit 10 Seiten A4 haben, können Sie es mit 2in1 in ein PDF mit 5 Seiten A3 konvertieren. Und wenn die Gesamtzahl der Seiten ungerade ist, ist die rechte Seite der letzten Seite leer und alle Seiten werden trotzdem in A3 konvertiert.
pdf_A3.py
import PyPDF2
A3_width = 1190.5511811024
A3_height = 841.8897637795
#Lesen der Original-A4-Datei
pdf_file = open('***.pdf','rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
#Grundlegendes zur Anzahl der Seiten der ursprünglichen A4-Datei
page_num = pdf_reader.getNumPages()
cnt = 1
for start_page in range(0, page_num, 2):
A3_page = PyPDF2.pdf.PageObject.createBlankPage(width=A3_width, height=A3_height)
end_page = start_page + 1
#Platziere ungerade Seiten auf der linken Seite
page_left = pdf_reader.getPage(start_page)
A3_page.mergePage(page_left)
#Platzieren Sie gerade Seiten rechts, aber lassen Sie die rechte Seite der letzten A3-Seite leer, wenn die Gesamtzahl der Seiten ungerade ist
if start_page + 1 < page_num:
page_right = pdf_reader.getPage(end_page)
A3_page.mergeRotatedScaledTranslatedPage(page_right, 0, 1, A3_width / 2, 0, expand=False)
else:
pass
pdf_writer = PyPDF2.PdfFileWriter()
pdf_writer.addPage(A3_page)
#Ein Zauberspruch zum Hinzufügen einer mit Nullen aufgefüllten 4-stelligen Zahl nach dem generierten Dateinamen
file_num = str(cnt).zfill(4)
file_name = 'test_A3_' + file_num + '.pdf'
output_file = open(file_name,'wb')
pdf_writer.write(output_file)
output_file.close()
cnt += 1
pdf_file.close()
print ('Ende!')
Es ist ein Programm, von dem ich nicht weiß, wie hoch die Nachfrage ist, aber da der Bildschirm des Computers horizontal lang ist, möchte ich darauf bestehen, dass es einfacher ist zu sehen, ob das A4-PDF in A3 nebeneinander angezeigt wird, aber die Anzeige wird mit der Viewer-Einstellung von Acrobat Reader eingestellt. Es geht nur darum, es zu einer "verbreiteten Seite" zu machen.
Recommended Posts