Vorgeschlagene Anfangsdarstellung eines PDF-Dokuments nachträglich ändern

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Korodny
Beiträge: 705
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Vorgeschlagene Anfangsdarstellung eines PDF-Dokuments nachträglich ändern

Beitrag von Korodny » 25.06.2022 23:39:57

Ein PDF kann Vorschläge enthalten, wie es angezeigt werden soll: Sollen Gliederung oder Thumbnails neben der Seite angezeigt werden? Nur eine Seite anzeigen, oder zwei Seiten nebeneinander? Usw.

Kennt jemand ein Tool oder eine Methode, um diese Eigenschaften nachträglich bei einem PDF-Dokument zu ändern? Bevorzugt von der Konsole aus, zur Not geht aber auch ein GUI-Tool.

Hintergrund:

Da der "Master-Dokument"-Modus von LibreOffice m.E. langsam und umständlich ist, stelle ich unsere Vereinszeitung selbst aus einzelnen, maximal vier Seiten langen Teilen zusammen: per Batch-Skript werden (optional) alle odt-Textdateien nach PDF konvertiert, zusammengefügt und dann mit durchlaufenden Seitenzahlen versehen. Das Resultat wird dann zwecks Korrekturlesen herumgeschickt.

Um näher an das tatsächliche Erscheinungsbild einer A5-Broschüre zu kommen, würde ich das PDF gerne noch so ändern, dass es gleich als Doppelseiten angezeigt wird. Von den PC-Laien, die das Ding lesen sollen, macht das niemand von selbst.

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Vorgeschlagene Anfangsdarstellung eines PDF-Dokuments nachträglich ändern

Beitrag von Huo » 26.06.2022 13:24:05

Vielseitige Möglichkeiten zur Bearbeitung von PDFs und deren Metadaten bietet die Python-Bibliothek PyPDF2. Ich habe mal ein simples Python-Programm pdf2col.py geschrieben, das PDFs in solche mit doppelseitiger Anzeige konvertiert.

Voraussetzung ist eine Installation der Python-Bibliothek PyPDF2:

Code: Alles auswählen

pip install PyPDF2
Der Programmcode:

Code: Alles auswählen

#!/usr/bin/env python3

import sys
from PyPDF2 import PdfFileWriter, PdfFileReader

datei = sys.argv[1]
out = sys.argv[2]

writer = PdfFileWriter()
reader = PdfFileReader(open(datei, 'rb'))
seitenzahl = reader.numPages

for i in range(seitenzahl):
     writer.addPage(reader.getPage(i))

writer.setPageLayout('/TwoColumnLeft')
output = open(out,'wb')
writer.write(output)
output.close()
Anwendung:

Code: Alles auswählen

pdf2col.py datei_orig.pdf datei_neu.pdf

Korodny
Beiträge: 705
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Vorgeschlagene Anfangsdarstellung eines PDF-Dokuments nachträglich ändern

Beitrag von Korodny » 27.06.2022 00:09:38

@Huo:

Wow, ganz große Klasse - macht exakt das was ich brauche! Ganz herzlichen Dank.

Antworten