Benutzer:Andreas Plank/Technische Hilfe für Literaturverwaltung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „== PDF Dateien == Voraussetzung: Linuxprogramm <code>pdftk</code> Alle Lesezeichen oder „Überschriften der Seitenstruktur“ aus einer PDF-Datei herausles…“) |
|||
Zeile 5: | Zeile 5: | ||
Alle Lesezeichen oder „Überschriften der Seitenstruktur“ aus einer PDF-Datei herauslesen: | Alle Lesezeichen oder „Überschriften der Seitenstruktur“ aus einer PDF-Datei herauslesen: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | pdftk "Langbein - 1841 - Gedichte.pdf" dump_data_utf8 | grep '^BookmarkTitle\|^BookmarkPageNumber' | sed --regexp-extended '/BookmarkTitle/{N; s@BookmarkTitle: @@; s@\nBookmarkPageNumber: ([0-9]+)@ (Seite \1)@; /Front Cover/d } ' | + | pdftk "Langbein - 1841 - Gedichte.pdf" dump_data_utf8 | \ |
+ | grep '^BookmarkTitle\|^BookmarkPageNumber' | \ | ||
+ | sed --regexp-extended '/BookmarkTitle/{N; s@BookmarkTitle: @@; s@\nBookmarkPageNumber: ([0-9]+)@ (Seite \1)@; /Front Cover/d } ' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | Erklärung: | ||
+ | * für die Datei <code>"Langbein - 1841 - Gedichte.pdf"</code> → <code>dump_data_utf8</code> alle Daten im UTF8 Format auslesen | ||
+ | * <code>grep '…'</code> die Ausgabe gefiltert abgreifen, nur <tt>BookmarkTitle</tt> oder <tt>BookmarkPageNumber</tt> je nur am Zeilenanfang | ||
+ | * <code>sed '…'</code> die davor gefilterte Ausgabe so umformatieren, daß Lesezeichenbezeichnung (<tt>BookmarkTitle</tt>) und Seitennummer (<tt>BookmarkPageNumber</tt>) nur in einer Zeile ausgedrückt werden | ||
+ | ** beim Auffinden von <code>/BookmarkTitle/</code> mache folgendes <code>{…}</code> | ||
+ | **# <code>N;</code> verbinde nachfolgende Zeile als <tt>'Zeile_gefunden{{Textfarbe|orange|\n}}Zeile_nachfolgende'</tt> | ||
+ | **# <code>s@…suche…@…ersetze…@;</code> führe Suchersetzungen durch | ||
+ | **# <code>/Front Cover/d</code> beim Finden von <tt>Front Cover</tt> lösche gesamte Zeilenfügung (die ja schon vorher verändert wurde: '…\n…') | ||
Beispielergebnis: | Beispielergebnis: |
Aktuelle Version vom 27. März 2022, 16:54 Uhr
PDF Dateien
Voraussetzung: Linuxprogramm pdftk
Alle Lesezeichen oder „Überschriften der Seitenstruktur“ aus einer PDF-Datei herauslesen:
pdftk "Langbein - 1841 - Gedichte.pdf" dump_data_utf8 | \
grep '^BookmarkTitle\|^BookmarkPageNumber' | \
sed --regexp-extended '/BookmarkTitle/{N; s@BookmarkTitle: @@; s@\nBookmarkPageNumber: ([0-9]+)@ (Seite \1)@; /Front Cover/d } '
Erklärung:
- für die Datei
"Langbein - 1841 - Gedichte.pdf"
→dump_data_utf8
alle Daten im UTF8 Format auslesen grep '…'
die Ausgabe gefiltert abgreifen, nur BookmarkTitle oder BookmarkPageNumber je nur am Zeilenanfangsed '…'
die davor gefilterte Ausgabe so umformatieren, daß Lesezeichenbezeichnung (BookmarkTitle) und Seitennummer (BookmarkPageNumber) nur in einer Zeile ausgedrückt werden- beim Auffinden von
/BookmarkTitle/
mache folgendes{…}
N;
verbinde nachfolgende Zeile als 'Zeile_gefunden\nZeile_nachfolgende's@…suche…@…ersetze…@;
führe Suchersetzungen durch/Front Cover/d
beim Finden von Front Cover lösche gesamte Zeilenfügung (die ja schon vorher verändert wurde: '…\n…')
- beim Auffinden von
Beispielergebnis:
Richard Löwenherz und Blondel (Seite 44) Der junge Landmann (Seite 57) Warnung (Seite 70) Die lange Predigt (Seite 83) Die neue Eva (Seite 96) Die unglücliden Bogelſteller (Seite 110) …