Seite 1 von 1
Anzahl Seiten eines PDFs feststellen
Verfasst: Sonntag 24. Juli 2016, 11:39
von drnicolas
Ich möchte/muß feststellen wieviele Seiten ein PDF hat.
Geht das mit einer Python-Bibliothek ?
Anschliessend muss das PDFan einer bestimmten Stelle aufgeteilt werden. Es geht mir aber nicht darum immer nach nSeiten zuteien !
Re: Anzahl Seiten eines PDFs feststellen
Verfasst: Sonntag 24. Juli 2016, 13:30
von pixewakb
Das geht mit PyPDF für Python 2.7.
https://pypi.python.org/pypi/pyPdf/1.13
http://pybrary.net/pyPdf/
Falls jemand eine bessere Version für Python 3 kennt, wäre eine Info auch für mich sehr hilfreich. Ich suche da noch; pypdf scheint nicht mehr maintainted zu sein, das Nachfolgeprojekt hat sich verabschiedet
Der nachfolgende Code gibt vielleicht einen Eindruck.
Code: Alles auswählen
from pyPdf import PdfFileWriter, PdfFileReader
# output = PdfFileWriter()
input1 = PdfFileReader(file("IMG.pdf", "rb"))
# Seite drehen
for page in range(input1.getNumPages()):
output = PdfFileWriter()
output.addPage(input1.getPage(page))
outputStream = file("Dateien "+ str(page) +".pdf", "wb")
output.write(outputStream)
outputStream.close()
Re: Anzahl Seiten eines PDFs feststellen
Verfasst: Sonntag 24. Juli 2016, 16:28
von Sirius3
@pixewakb: was soll den die 1 bei input1? Variablennamen durchzunummerieren ist immer eine schlechte Idee, vor allem, wenn es nur eine 1 gibt. file-Objekte erzeugt man üblicherweise durch Aufruf von open. Diese sollten auch irgendwann wieder geschlossen werden, z.B. automatisch mit dem with-Statement. Statt Strings mit + zusammenzustücken, verwende .format. Und Leerzeichen in Dateinamen sind gruslig:
Code: Alles auswählen
with open("Datei_{0:04d}.pdf".format(page), "wb") as output_stream:
output.write(output_stream)
Re: Anzahl Seiten eines PDFs feststellen
Verfasst: Sonntag 24. Juli 2016, 18:44
von pixewakb
Für Python 3 scheint es das zu geben:
https://pypi.python.org/pypi/PyPDF2/1.26.0
@Sirius3: Sorry für den Quellcode. Ich teste gleich mal pyddf2 und dann deinen Vorschlag. Ich brauche solche Skripte schon mal häufiger, weil ich PDFs drehen, zerlegen oder neu zusammensetzen muss, leider ist es meist aus dem Netz zusammengestückelt

und das dann auch mit wenig Liebe. Die Sache mit open finde ich gut, damit bekam ich die Skripte aber bislang noch nie zum Laufen. Vielleicht klappt es mit deinem Code! Danke!