Ich habe ein PDF-Dokument, das ich mit Nicht-Acrobat-Mitteln erstellt habe (in PDF drucken, dann eine Reihe von PDFs zusammenführen), aber ich möchte die Seitenzahlen manuell ändern (dh die ersten Seiten sind einfach Titelseiten, die Seite, die es gibt) ist beschriftet "Seite 1" ist wirklich das 7. Blatt des pdf). Was ist der einfachste (und idealerweise kostenlose) Weg, dies zu tun?
Klar, ich versuche nicht, die Nummern auf den Seiten selbst zu ändern, sondern die Seitenzahlen in den "Metadaten", die die PDF-Dateien speichern (die Seiten selbst sind bereits richtig nummeriert; ich möchte nur "Gehe zu Seite 1" auf die Seite mit der Bezeichnung 1, die Blatt 7 sein könnte).
Für das, was es wert ist, bin ich auf Windows, obwohl ich auch Zugriff auf Macs habe.
Antworten:
Was Sie möchten, wird in der Tat als Seitenbeschriftung bezeichnet und kann problemlos direkt im Quellcode der PDF-Datei hinzugefügt werden. Benennen Sie die Dateierweiterung von
pdf
in umtxt
und öffnen Sie die Datei in einem Texteditor (dies kann langsam sein, abhängig von der Dateigröße, gedulden Sie sich). Die Informationen zu Seitenbeschriftungen werden in einem Knoten namens Dokumentenkatalog gespeichert, der ungefähr so aussieht:Es kann verwirrenderes Zeug enthalten, aber dies ist die Grundstruktur. Es gibt nur einen Katalog, sodass Sie in einer großen Datei nach dem Knoten suchen können, der diesen enthält
/Catalog
. Jetzt können Sie Ihre gewünschten Änderungen vornehmen, indem Sie den folgenden/PageLabels
Eintrag einfügen :Es gibt 3 Zeilen, die mit Zahlen beginnen und als Seitenindizes bezeichnet werden . Seite 1 hat den Index
0
, Seite 2 den Index1
und so weiter. Sie beschreiben immer Bereiche, daher gilt die Zeile mit1 <<...>>
für alle Seiten von Index 1 bis 5 und die Zeile mit6 <<...>>
für alle Seiten von 6 bis zur letzten Seite. Ein Label für0 <<...>>
muss immer definiert werden.Weitere Informationen zu Seitenbeschriftungen und PDF-Quellcode finden Sie im PDF-Standard oder in einem Wiki zu PDF-Standards.
quelle
/St 8
oder/St 2
legen Sie einen Startpunkt für das angezeigte Etikett fest. Aber wählen Sie eine beliebige Zahl anstelle von 8 (oder 2), die> = 1 sein muss. Zum Beispiel1 << /S /r /St 12 >>
werden Seiten von (tatsächlich) 2-6 als (angezeigt) xii-xvii nummeriert - weil '12' 'xii' entspricht.Wenn ich Sie richtig verstehe, sollte das folgendermaßen funktionieren:
Ich scheine mich jedoch zu erinnern, dass dies beim letzten Versuch (vor ungefähr 2 Jahren) nicht zuverlässig oder vollständig funktioniert hat.
UPDATE: Mein Gedächtnis hat mich nicht enttäuscht. Ich habe es jetzt erneut versucht und einen Fehlerbericht für Ghostscript ( Fehler 691889 ) eingereicht . Folgen Sie dem Link zum Fehlerbericht, um die Details anzuzeigen.
quelle
So bearbeiten Sie PDF-Seitenzahlen mit Qpdf
Zusammenfassung:
qpdf -qdf foo.pdf foo.qdf
edit foo.qdf
fix-qdf foo.qdf >bar.qdf
qpdf bar.qdf bar.pdf
Detaillierte Schritte
Schritt 1.
Konvertieren Sie das Dokument in das einfach zu bearbeitende QDF-Format. Führen Sie qpdf wie folgt über die Befehlszeile aus:
Schritt 2.
Bearbeiten Sie das QDF-Dokument mit einem Texteditor wie Notepad ++, Emacs oder gedit. Suchen Sie nach dem Wort
/Catalog
und beachten Sie die darin enthaltenen << spitzen Klammern >>. In der Nähe finden Sie die aktuelle/PageLabels
( falls vorhanden ).Wir werden jeden Abschnitt hinzufügen, der anders nummeriert sein soll
/PageLabels
. Das Format iststart-page
<<style
>>. Beachten Sie, dass Leerzeichen keine Rolle spielen und die erste Seite des Dokuments ist0
. Sofern nicht anders angegeben, beginnt ein neuer Abschnitt immer mit der Seitennummerierung von 1.Beispiele
Hier ist ein vollständiges Beispiel dafür, wie PageLabels aussehen könnte, wobei Kommentare hinzugefügt wurden:
Wenn die Datei keine PageLabels enthält, fügen Sie diese nachher hinzu
/Type /Catalog
. Zum Beispiel könnte man ändern,in,
OPTIONAL: AB EINER ANDEREN NUMMER MIT
/St
In jedem Abschnitt wird die Nummerierung mit 1 neu gestartet, sofern Sie dies nicht anders angeben
/St
. Beachten Sie, wie im obigen Beispiel die vierte Seite bei 15 beginnt.OPTIONAL: VERWENDUNG EINES ANDEREN STILS MIT
/S
Der
/S
Operator verwendet ein Argument, mit dem Sie den Nummerierungsstil auswählen können.Wenn man den
/S
Operator weglässt , hat dieser Abschnitt der Seiten keine Nummerierung. Beispielsweise:OPTIONAL: HINZUFÜGEN EINES PREFIXES ZU JEDER SEITE
/P
Sie können eine beliebige Textfolge vor der Seitenzahl anzeigen, indem Sie ein Wort in Klammern nach den
/P
folgenden Angaben angeben :Wenn Sie ein Präfix ohne Stil (
/S
) angeben , erhalten Sie Seiten, die nur das Wort ohne Nummer enthalten. Dies kann beispielsweise nützlich sein, wenn Sie möchten, dass ein Deckblatt einfach die Bezeichnung "Deckblatt" trägt.Schritt 3.
Führen
fix-qdf
Sie den Befehl aus, um Ihre bearbeiteten PDF-Dateien gültig zu machen und die Ausgabe in bar.qdf abzulegen.Schritt 4.
Öffnen Sie bar.qdf in Ihrem PDF-Anzeigeprogramm und überprüfen Sie, ob die Nummerierung korrekt ist.
Schritt 5.
Konvertieren Sie die QDF-Datei wie folgt zurück in eine normale PDF-Datei:
Ta da. Sie sind fertig. Sie haben jetzt ein Dokument mit korrekt beschrifteten Seitenzahlen in bar.pdf.
quelle
Es gibt ein kleines Python-Skript, das diese Aufgabe übernehmen kann: https://github.com/lovasoa/pagelabels-py
Rufen Sie in Ihrem Fall etwa an:
quelle
jPdf Tweak ist ein Open Source- Grafikprogramm , mit dem Sie Seitenbeschriftungen in PDF-Dateien bearbeiten können. Die Dokumentationsseite enthält schrittweise Anweisungen.
quelle
Zum Entfernen der alten ist es wahrscheinlich am einfachsten, die alten plattformübergreifend abzuschneiden. Das könnten Sie zum Beispiel mit BRISS.
Das Hinzufügen der neuen Tools mit kostenlosen Tools ist schwieriger. Persönlich würde ich es wahrscheinlich mit pdflatex machen, wie in dieser StackExchange-Antwort , obwohl das eine ziemlich komplizierte Lösung sein könnte, es sei denn, Sie haben andere Verwendungsmöglichkeiten für pdflatex.
Ich denke, es geht, aber stattdessen mit jPdfTweak .
quelle
Die von Dane H. angegebene Methode funktioniert mit Acrobat Reader (oder genauer gesagt der aktuellen Version von Adobe Reader). Ein kleiner Punkt, den Sie beachten sollten: Das Feld oben akzeptiert nur 8 Zeichen, sodass Sie in dieses Feld keinen Betreff eingeben können, wenn ein solches Etikett verwendet wurde. Sie können jedoch stattdessen den Menüpunkt Ansicht> Seitennavigation> Gehe zu ... oder die entsprechende Taste verwenden.
Noch ein Tipp: PDF - Spezifikation weist immer Seitenzahl nacheinander, so im Fall eines Dokuments durch das Scannen erzeugten Paare von Seiten die zwei Sätze von Zahlen erhalten aus Schritt (es sei denn , Sie mühsam Nummer jeder Seite einzeln). Sie können Ihr Dokument jedoch mit geringem Aufwand so einrichten, dass die Konvention "Gehe zu Seite n" auf die Seiten 2n und 2n + 1 angewendet wird.
quelle
Die Antwort von Danes ist die beste, die Formate haben sich jetzt ein wenig geändert, dies könnte hilfreich sein:
quelle
Ich habe festgestellt, dass die direkte Bearbeitung der Datei (wie sie von pdftk nicht komprimiert wurde) nicht funktioniert, wenn in der Region '/ outlines' bereits '/ titles' festgelegt sind. Die in einem Beitrag oben beschriebene Direktbearbeitungstechnik wird auf Youtube demonstriert: https://www.youtube.com/watch?v=zoH1Z_hSpak
Die 'Update'-Funktion von pdftk ist möglicherweise intuitiver (und zuverlässiger, wenn' / title 'bereits im Bereich' / outlines 'der PDF-Datei vorhanden ist), indem Sie die hier verwendete' doc_data.txt'-Datei bearbeiten: https: / /www.pdflabs.com/blog/export-and-import-pdf-bookmarks/
quelle
BeCyPDFMetaEdit http://www.becyhome.de/becypdfmetaedit/description_eng.htm
Sie können das interne Seitenzahlenschema auf der Registerkarte "Seiten" dieses Freeware-Tools hinzufügen / entfernen / ändern.
Und seien Sie vorsichtig, der PDF xchange Viewer zeigt das Seitennummernschema nicht an, und Foxitreader hat das richtige Ergebnis. Ich habe den Acrobat Reader nicht getestet.
quelle