seduction
 Language:
Welcome, Guest. Please login or register.
Did you miss your activation email?
2018/12/14, 15:21:42


Help

Author [EN] [PL] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: PDFs in Unterordnern finden und zusammen fassen (mit Lesezeichen)  (Read 338 times)

0 Members and 1 Guest are viewing this topic.

Offline 10toe

  • User
  • Posts: 132
Moin!


Ich bin gerade an einem Projekt mit mehreren einseitigen PDFs (>300), die über mehrere Unterverzeichnisse verteilt sind. Diese sollen jetzt automatisiert zusammen gesucht und zu einem einzigen großen Dokument zusammenfasst werden. Dabei soll jede Seite und die vorgefundene Unterordnerstruktur als (hierarchische) Lesezeichen mit in die Metadaten geschrieben werden.


Ich habe schon mal einen bash-Befehl zusammen gebastelt, das die PDFs findet und mergt (Große Freude! Hat jemand Interesse daran?). Was mir jetzt noch fehlt, ist die Möglichkeit automatisiert Lesezeichen in die Metadaten zu schreiben.


Das war, wenn ich es richtig verstanden habe, mit pdftk eigentlich möglich. Da hat man die Metadaten in eine Textdatei extrahieren, verändern und wiedereinpflanzen können. Doch pdftk ist aufgrund von Abhängigkeitsproblemen nicht mehr installierbar... Hat jemand eine Idee oder einen Tipp für eine Alternative oder wo ich weitersuchen könnte?


Viele Grüße!
Hans

Offline bluelupo

  • Global Moderator
  • User
  • *****
  • Posts: 2.052
    • http://bluelupo.net
Ciao bluelupo
BlueLupo's Wiki - BlueLupo's Blog
BlueLupo bei GooglePlus
Bluelupo bei Diaspora*


Offline 10toe

  • User
  • Posts: 132
Ah, großartig! Mit diesem Paket läuft pdftk endlich wieder. Und das Setzen von verschachtelten Lesezeichen geht auch! Jetzt muss ich nur noch ein Skript basteln, das die Ordnerstruktur ausliest und als Text in die Metainformationen einpflanzt... genau das richtige für die kommenden verregneten Feiertage...


Danke Euch! :-)


Viele Grüße!
Hans

Offline harley-peter

  • User
  • Posts: 729
Hallo Hans,

ja ich habe Interesse an deinem Befehl zum Finden und Zusammenbasteln der Dokumente.

Gruß
Peter

Offline 10toe

  • User
  • Posts: 132
Hallo Peter,


gerne! Zum Zusammensuchen aller PDFs aus allen Unterordnern benutze ich folgenden Befehl:


Code: [Select]
find . | grep pdf | grep -v "xoj" | sed 's/ /\\ /g' | { sort; echo "cat output Output.pdf"; } | tr "\n" " " > AllePDFs.txt

Erläuterung:


1. Im Datenstrom zuerst alle pdfs filtern. Alle Einträge werden mit Zeilenumbruch voneinander getrennt.
2. Aus allen Einträgen die xoj-Files entfernen - nur wichtig, falls Du Xournal verwendest...
3. Aus allen Leerzeichen die Zeichenabfolge "/ " umwandeln
4. Alle Einträge alphabetisch sortieren und am Ende des Datenstroms noch "cat output Output.pdf" anfügen - damit der Merge-Befehl für pdftk ausgeführt werden kann.
5. Alle Zeilenumbrüche in Leerzeichen umwandeln.
6. Alles in eine Textdatei hineinschreiben.


Aus dieser Textdatei kopiere ich die riesenlange Zeile zurück in die Bash, in die ich vorher "pdftk" + Leerzeichen getippt habe -> Enter -> Output.pdf wird erstellt.


Punkt 6 ist eine Notlösung, da ich es einfach nicht hinbekommen habe, den Datenstrom auf pdftk zu lenken. Das Problem sind einfach die Leerzeichen: Aus "/ " wird wieder " " gemacht... und damit funktioniert der pdftk-Befehl nicht mehr. Daher der Umstand mit der Txt-Datei und dem Copy/Paste. (Falls jemand einen Tipp parat hat, gerne!)


Mein erstes Bash-Coding, jippie! :-)
Viele Grüße!
Hans


Offline bluelupo

  • Global Moderator
  • User
  • *****
  • Posts: 2.052
    • http://bluelupo.net
Hallo zusammen,

nachfolgender Einzeiler findet per find-Kommando, alle PDF's (file Kommando) ab dem aktuellen Verzeichniss und merged alle gefunden PDF's zu einem Dokument per pdftk zusammen, unabhängig ob sich auch noch andere Dateitypen in den Verzeichnissen befinden.

Code: [Select]
$ pdftk $(find . -type f -iname "*" | xargs file | grep -i "pdf document"|awk -F":" '{print $1}') cat output out.pdf
« Last Edit: 2018/12/06, 21:20:48 by bluelupo »
Ciao bluelupo
BlueLupo's Wiki - BlueLupo's Blog
BlueLupo bei GooglePlus
Bluelupo bei Diaspora*

Offline harley-peter

  • User
  • Posts: 729
Danke euch beiden für die Befehle.
Ich benutze für das mergen bisher pdfchain als grafisches Tool das pdf Dateien zerlegen und auch wieder zusammensetzen kann. Es hat außerdem den Vorteil dass ich auch noch die Reihenfolge bestimmen kann. Aber wenn ich die Dateien erst zusammen suchen muss sind eure Befehle eine große Hilfe.