nenem
Anmeldungsdatum: 9. Juni 2006
Beiträge: 946
|
Hallo zusammen, mit PDF-Shuffler lassen sich in nullkommanix Seiten löschen, hinzufügen, umstellen, drehen, etc. Für mich eigentlich ein ideales Werkzeug Deshalb arbeite ich schon länger damit. Nun aber habe ich ein grundsätzliches, gravierendes Problem: Dateien im Format PDF/A (für Langzeitarchivierung) lassen sich nur als PDF (ohne "A") abspeichern. Ärgerlich. Tests mit PDF Mod und PDF Chain liefern das gleiche Ergebnis. Ich muss teils umfangreiche Dateien bearbeiten, bei denen die einzelnen Schritte uneinheitlich sind (vor Allem die Zahl der Seiten, mit denen jeweils neue Dateien generiert oder die gedreht werden müssen). Damit soll aber nicht das PDF/A-Format eliminiert werden. Kennt jemand ein ähnlich komfortables Tool, das mit diesem Format umgehen kann? Viele Grüße nenem
|
hylli
Anmeldungsdatum: 17. August 2007
Beiträge: 1313
|
Also wenn ich das richtig interpretiere, dann sollen PDF/A-Dokumente nicht veränderbar sein: https://www.uni-muenster.de/Publizieren/veroeffentlichung/dateierstellung/pdfa-erstellung.html Soweit ich das beurteilen kann, ist das dann auch Sinn und Zweck dieses Formats. Hylli
|
nenem
(Themenstarter)
Anmeldungsdatum: 9. Juni 2006
Beiträge: 946
|
hylli schrieb: Also wenn ich das richtig interpretiere, dann sollen PDF/A-Dokumente nicht veränderbar sein: https://www.uni-muenster.de/Publizieren/veroeffentlichung/dateierstellung/pdfa-erstellung.html
Das ist dort tatsächlich zu lesen, trifft aber den Sachverhalt nicht genau. Es geht ja nicht darum, eine Änderung an einer vorhandenen Datei abzuspeichern (und somit die Datei selbst zu ändern), sondern um die Speicherung einer geänderten Datei unter neuem Namen (oder alternativ: überschreiben/ersetzen der Orginaldatei). Das funktioniert auch. Nur sind die Programme offenbar nicht in der Lage, bei diesem Schritt neue Dateien im Format PDF/A zu generieren.
Soweit ich das beurteilen kann, ist das dann auch Sinn und Zweck dieses Formats.
Sehe ich nicht so. Sinn und Zweck ist eigentlich die Langzeit-Archivierung - also eine auf Dauer angelegte Möglichkeit, solche Dateien lesen zu können und eine von Betriebssystemen und Umgebungen unabhängige, immer gleiche Darstellung. Inzwischen habe ich herausgefunden, dass ich mit PDF Mod zum Ziel kommen kann und bedingt auch mit Libreoffice Draw. Leider bedarf es dazu einiger "Tricks 17", die den Aufwand deutlich vergrößern. Bei PDF Mod funktioniert z.B. die Trennung von Seiten und ihre Speicherung als neue Datei im PDF/A-Format, wenn ich nicht die (komfortable) Variante "Seiten herauslösen" wähle, sondern alle unerwünschten Seiten lösche und erst dann eine neue Datei mit den übriggebliebenen anlege. Das allein ist schon aufwändiger. Ein noch größerer Aufwand aber entsteht, weil das Programm bei den Löschvorgängen fehlerhaft arbeitet, wenn alle auf einmal durchgeführt werden. Deshalb sind oft viele Zwischenschritte nötig (anlegen neuer Dateien, die gegenüber den vorherigen Versionen jeweils um einige Seiten reduziert sind). LibreOffice Draw bietet sich zwar an, weil (je nach Einstellung) die integrierte Funktion "PDF-Export" tatsächlich Dateien im gewünschten Format generiert. Leider aber ist es hier noch umständlicher: In der geöffneten Datei eine oder mehrere "Folien" markieren und kopieren, neue Draw-Datei anlegen und die Kopien einfügen, die hier neu generierte, leere Folie 1 löschen und schließlich das Ganze als pdf exportieren. Hinzu kommt, dass sich für eine neue Folie zwar in der Seitenformatierung das Querformat einstellen lässt, sich dabei aber das integrierte Bild nicht mitdreht. Wenn also eine im Querformat erstellte Seite kopiert oder gescannt wird, sie anschließend als Datei im Hochformat vorliegt (und so der Text nicht von links nach rechts zu lesen ist, sondern von unten nach oben), lässt es sich mit Draw nicht ändern. Damit ist das Programm für mich unbrauchbar. Das "Gelbe vom Ei" habe ich also noch nicht gefunden.
|
Cruiz
Anmeldungsdatum: 6. März 2014
Beiträge: 5557
Wohnort: Freiburg i. Brsg.
|
nenem schrieb: Sehe ich nicht so. Sinn und Zweck ist eigentlich die Langzeit-Archivierung - also eine auf Dauer angelegte Möglichkeit, solche Dateien lesen zu können und eine von Betriebssystemen und Umgebungen unabhängige, immer gleiche Darstellung.
Welchen Sinn hat eine Archivierung wenn man permanent den Inhalt der Datei ändern kann?
|
nenem
(Themenstarter)
Anmeldungsdatum: 9. Juni 2006
Beiträge: 946
|
Cruiz schrieb: nenem schrieb: Sehe ich nicht so. Sinn und Zweck ist eigentlich die Langzeit-Archivierung - also eine auf Dauer angelegte Möglichkeit, solche Dateien lesen zu können und eine von Betriebssystemen und Umgebungen unabhängige, immer gleiche Darstellung.
Welchen Sinn hat eine Archivierung wenn man permanent den Inhalt der Datei ändern kann?
Gründe gibt es bzw. kann es geben, aber das müssen wir bei diesem Thema nicht diskutieren. Mir geht es darum, dass ich aus vorhandenen Dateien mit jeweils mehreren Seiten neue Dateien generieren und im Format PDF/A speichern will (also eigentlich genau das, was z.B. PDF-Shuffler macht - leider aber nur mit Eliminierung des Formats).
|
nenem
(Themenstarter)
Anmeldungsdatum: 9. Juni 2006
Beiträge: 946
|
Inzwischen hat sich herausgestellt, dass PDF Mod ein Irrweg war. Offensichtlich werden bei der beschriebenen Art der Bearbeitung zwar die Vorschaubilder gelöscht, aber der Rest nicht. Irgendwann fiel mir auf, dass eine einzelne Seite genauso groß war, wie die Quelldatei mit z.B. 50 Seiten. Scheidet also aus. Der einzig praktikable Weg, den ich bis jetzt gefunden habe: Zunächst die Einzeldateien mit PDF Shuffler erstellen, dann alle mit LO Draw öffnen und sie unter neuem Namen abspeichern (weil Draw die vorhandenen nicht überschreibt). Ist wahnsinnig aufwändig, aber momentan der einzige Weg, wie ich zu den PDF/A-Dateien komme. Leider habe ich auch keine Ahnung, wie Skripte erstellt werden. Sonst würde ich versuchen, das Ganze wenigstens in Form von Stapelverarbeitung zu erledigen. Ein Skript müsste (z.B. innerhalb eines Verzeichnisses) alle PDF-Dateien mit Draw öffnen und sie anschließend idealerweise mit der Funktion PDF-Export unter gleichem Namen in einem anderen Verzeichnis speichern. Weiß hier jemand, ob und wie es geht?
|
Seebär
Anmeldungsdatum: 2. Mai 2009
Beiträge: 829
|
nenem schrieb: Weiß hier jemand, ob und wie es geht?
Wissen nein, habe aber eben mal die Doku von LO konsultiert, da ich nicht glaube, dass LO soweit batchfähig ist das hinzubekommen. Wie hier https://help.libreoffice.org/6.4/en-US/text/shared/guide/start_parameters.html?DbPAR=SHARED#bm_id3156410 steht wirst du den headless-Mode bemühen und dann die API bemühen müssen. Im Developer's Guide Examples könnte es dazu Hinweise geben.
|
HaCeMei
Anmeldungsdatum: 2. August 2010
Beiträge: 2262
|
PDFs lassen sich mit pdftk verbinden pdftk datei1.pdf datei2.pdf cat output datei_1_2_verbunden.pdf Ich bin mir nicht sicher, ob dabei das Format PDF/A erhalten bleibt oder verloren geht. Ich weiß auf die Schnelle nicht, wie ich das überprüfe (bzw. will mir nicht die Mühe machen, verapdf zu installieren). Laut diesem Thread geht es verloren: https://askubuntu.com/questions/1107456/do-any-pdf-merging-utilities-preserve-the-pdf-a-format Wenn nötig, kann man aber mit ghostscript nachbessern, d.h die erstellte Datei nach PDF/A konvertieren: https://stackoverflow.com/questions/1659147/how-to-use-ghostscript-to-convert-pdf-to-pdf-a-or-pdf-x Damit kannst du ein Skript erstellen, in dem viele Dateien bearbeitet werden, ohne dass du sie einzeln öffnen und schließen müsstest.
|
Bleys
Anmeldungsdatum: 13. August 2006
Beiträge: 6172
|
Das Umwandeln geht im Terminal per soffice: | soffice --headless --convert-to pdf datei.pdf
|
Voraussetzung ist, das vorher einmal in Libreoffice in das Format pdf/a exportiert wird!
|
nenem
(Themenstarter)
Anmeldungsdatum: 9. Juni 2006
Beiträge: 946
|
Vielen Dank für die verlinkten Anleitungen, aber sie überfordern mich (erstens, weil mein englisch nicht gut genug ist und zweitens, weil meine Kenntnisse nicht ausreichen). Anmerkung zu einigen Details In Euren Antworten: Nachdem ich viel ausprobiert habe, geht es jetzt nur und ausschließlich darum, pdf-Dateien ins Format PDF/A zu bringen, weil es von keinem der bisher getesteten Tools unterstützt wird. Für den ersten Schritt - also die Zerlegung großer pdf-Dateien in viele kleine - empfinde ich PDF Shuffler vergleichsweise komfortabler und schneller, als PDF Chain (Frontend für pdftk/pdftk-java) und PDF Mod. Gilt umgekehrt natürlich auch für Zusammenführungen. Für den zweiten - die Konvertierung einzelner Dateien - bedarf es keines Kommandos. Hierbei muss ja der jeweilige Dateiname eingetragen werden. Das ist umständlich und aufwändig - und wird von LO Draw etwas geschmeidiger gelöst (Dokument öffnen, exportieren und unter neuem Namen oder vorhandenem in anderem Verzeichnis abspeichern). Nur: So etwas mit "bummelig" 30.000 Dateien zu bewerkstelligen, scheint mir wegen des enormen Zeitaufwands schier unmöglich. Insofern wäre eine Skript-Lösung schon ideal. Ich weiß nur nicht, wie ich zu einem funktionierenden komme. Wenn mich dabei jemand "an die Hand nehmen" könnte...
|
Ubunux
Anmeldungsdatum: 12. Juni 2006
Beiträge: 16456
|
Im Wiki habe ich gesehen, dass es einen Nachfolger/Fork von PDF-Shuffler gibt: PDF Arranger, das ist ein Frontend für https://github.com/pikepdf/pikepdf Zu den Features von pikepdf: https://github.com/pikepdf/pikepdf#features dort kann man das lesen "Modifies PDF/A without breaking PDF/A compliance" Von der Materie habe ich zu wenig Ahnung, aber vielleicht kannst du es dir mal ansehen.
|
nenem
(Themenstarter)
Anmeldungsdatum: 9. Juni 2006
Beiträge: 946
|
Klingt nicht schlecht, und ich würde es im Prinzip ausprobieren. Allerdings wird es von der Paketverwaltung nicht angeboten und käme wohl ohnehin nur für solche Dateien infrage, die schon im Format PDF/A vorliegen - und das sind bisher die wenigsten. Inzwischen habe ich ein Kommando angepasst und ausprobiert, das mir jemand empfohlen hat: libreoffice --convert-to pdf:draw_pdf_Export --outdir /home/foo/bar *.pdf. Es funktioniert und vereinfacht mein Vorhaben gewaltig! Nun würde ich gern wissen, ob das Kommando so angepasst werden kann, dass es nicht nur mit den Dateien funktioniert, die in einem Verzeichnis abgelegt sind, sondern auch mit denen in Unterverzeichnissen.
|
hakel
Anmeldungsdatum: 13. August 2009
Beiträge: 23336
|
PDF Bearbeitung über Libre halte ich für ziemlich gewagt, teste mal komplexere oder umfangreichere Dokumente. gs hat ein Template/Vorlage für die Konvertierung in PDF/A. Bei "A" geht es wirklich nur darum, daß man auch nach Jahren die Datei noch öffnen kann. Dazu werden alle überflüssigen Informationen entfernt. Man hat quasi nur noch die Rohdaten für die Anzeige.
nur für solche Dateien infrage, die schon im Format PDF/A vorliegen
Trotzdem ist der Arranger doch schon mal ein Fortschritt 👍 ! Ich habe diese Tools immer so aufgefaßt, daß die Seiten nicht neu generiert werden. Bei A ging es dann wohl nicht anders.
|
HaCeMei
Anmeldungsdatum: 2. August 2010
Beiträge: 2262
|
nenem schrieb: Das ist umständlich und aufwändig - und wird von LO Draw etwas geschmeidiger gelöst (Dokument öffnen, exportieren und unter neuem Namen oder vorhandenem in anderem Verzeichnis abspeichern). Nur: So etwas mit "bummelig" 30.000 Dateien zu bewerkstelligen, scheint mir wegen des enormen Zeitaufwands schier unmöglich.
Hast du wirklich 30.000 Dateien zu bearbeiten? Jedenfalls solltest du bei mehr als 30 im Terminal arbeiten, d.h. nicht mehr einzelne Dateien öffnen, sondern auf einen Schlag alle gewünschten Dateien in einem Verzeichnis (ggf. mit Unterverzeichnissen) bearbeiten. Die Terminalprogramme/-befehle aber sind sehr mächtig. Deshalb solltest du vorsichtig damit umgehen (vgl. Umstieg von einer Laubsäge auf eine Kreissäge). Ich rate dir also: * Zunächst eine Kopie/ein Backup deiner 30.000 Dateien anzulegen * Nur an den Kopien zu arbeiten. * Befehle zunächst an einer kleinen Zahl von Dateien (bzw. Unterverzeichnissen) zu testen. * Immer vor Ausführung eines Befehls zu kontrollieren, in welchem Verzeichnis du gerade bist. Nur als Beispiel: Du könntest mit folgendem Befehl alle(!) Ordner in deinem Homeverzeichnis auf einmal bearbeiten (ohne Dateien)
find /home/$HOME/ -type d -exec chmod 755 {} + Bevor du solche Befehle absetzt, solltest du sie (mindestens ungefähr) verstehen. Dafür ist das Wiki eine wunderbare Hilfe. Im Beispiel würdest du dich etwas in find und chmod einlesen. Zurück zu deinem eigentlichen Anliegen: Du solltest dir tatsächlich find näher anschauen, besonders was im Wiki zu -exec bzw. -execdir geschrieben ist. Außerdem denke ich wie Hakel, dass gs (Ghostscript) gegenüber einem "kopflosen" Libreoffice wahrscheinlich bei 30.000 Dateien vorzuziehen ist. Wenn du das alles gelesen hast, empfehle ich dir die 2. Antwort in diesem Thread: https://unix.stackexchange.com/questions/171677/cd-into-all-directories-execute-command-on-files-in-that-directory-and-return Nimm dir für alles etwas Zeit, lege Testverzeichnisse an, frage ggf. hier nach.
|
nenem
(Themenstarter)
Anmeldungsdatum: 9. Juni 2006
Beiträge: 946
|
Ja, es sind ca. 30.000 Dateien, und deshalb zielte meine Nachfrage (aus meinem letzten Posting) auch auf die Stapelverarbeitung ab: Alle Dateien in einem Verzeichnis zu bearbeiten war ja bereits gelöst (s. das genannte Kommando) - inkl. Unterverzeichnisse aber noch nicht. Das empfohlene, sichere Vorgehen entspricht ohnehin meiner Arbeitsweise. Bevor nicht absolut sicher ist, dass etwas funktioniert, taste ich mich mit Tests heran. Allerdings fehlt mir die Zeit, mich so weit in das "Wie" einer Skripterstellung einzuarbeiten, dass ein funktionierendes für so ein Vorhaben zustande kommt. Wie ich vorher ebenfalls schon geschrieben habe: Mir fehlen zu viele Kenntnisse, um den Aufwand überschaubar zu halten, und die von Dir nochmals verlinkte, englischsprachige Seite verstehe ich nicht gut genug. Dass händisches Abarbeiten zeitökonomisch insgesamt schechter abschneidet, ist klar. Der Unterschied ist nur, dass händisches Vorgehen (also Verzeichnis für Verzeichnis) immer wieder mal zwischendurch möglich ist, während bei der Einarbeitung in Skripterstellungen die ganze Sache vorläufig komplett ruhen müsste. Jemand anders (außerhalb dieses Forums), der Skripte quasi aus dem Ärmel schüttelt, hat nun ratzfatz eines geschrieben, das funktioniert: #!/bin/bash
currpath=${PWD}
patharray=(`find -type d`)
for pdfpath in ${patharray[*]}
do
pdfpath=$(echo ${pdfpath} | sed 's/^.//;s/^.\///')
pdfpath=$(echo ${currpath}${pdfpath})
cd ${pdfpath}
libreoffice --convert-to pdf:draw_pdf_Export --outdir ${pdfpath}/B *.pdf
cd ${currpath}
done Hier fehlt bisher nur noch eine Kleinigkeit: dass auch Verzeichnisse abgearbeitet werden, deren Namen Leerzeichen enthalten. Warum nun Ghostscript besser sein soll, als LO Draw, erschließt sich mir nicht: Selbst eine Testdatei mit 50 Seiten hat LO geöffnet und ordentlich im Format PDF/A-1a abgespeichert.
|