[gelöst] LibreOffice Writer: Datei entpacken, ändern, packen
[gelöst] LibreOffice Writer: Datei entpacken, ändern, packen
Hallo *,
LibreOffice-Dateien sind zip-Dateien, die man entpacken kann. Tut man das mit einer Datei ORIGINAL.odt, die Bilder enthält, entsteht ein Verzeichnis "Pictures", in dem die Bilder stehen. Es gibt Leute, denen unter Windows Folgendes gelungen ist:
- Bilder in "Pictures" löschen (zum Beispiel, um eine vertrauliche Datei zu "anonymisieren")
- Datei mit 7z wieder packen
- Datei öffnen
An den Stellen, an denen vorher Bilder waren, steht nun "Lesefehler", aber ansonsten ist die Datei unverändert.
Eine Datei mit drei Zeilen Text und drei kleinen Bildern auf einer Seite habe ich hier hochgeladen:
https://e1.pcloud.link/publink/show?cod ... OKnymxf7SX
(Wenn eine pdf-Datei zum Speichern angeboten wird, abbrechen und die dann zum Vorschein kommende odt-Datei herunterladen. Die Datei lösche ich am 02.04.2022.)
Bei mir klappt das nicht. Um das Problem einzugrenzen, habe ich diese Datei einfach mal entpackt und wieder gepackt. Das klappt:
[1] Datei "ORIGINAL.odt" entpacken:
$ unzip ORIGINAL.odt -d ORIGINAL
[2] Datei wieder packen:
$ cd ORIGINAL
$ zip -r ORIGINAL *
[3] Datei umbenennen:
$ mv ORIGINAL.zip ohneBilder.odt
Die entstehende Datei "ohneBilder.odt" lässt sich in LibreOffice öffnen - wunderbar.
Wenn ich aber die Bilder lösche, lässt sich die entstehende Datei nicht öffnen:
[1] Datei "ORIGINAL.odt" entpacken:
$ unzip ORIGINAL.odt -d ORIGINAL
[2] Bilder löschen:
$ cd ORIGINAL
$ cd Pictures
$ rm *
$ cd ..
[3] Datei wieder packen:
$ zip -r ORIGINAL *
[4] Datei umbenennen:
$ mv ORIGINAL.zip ohneBilder.odt
Wenn ich die Datei "ohneBilder.odt" mit LibreOffice öffnen möchte, erscheint die Meldung:
---
Lesefehler
Formatfehler in Textdokument content.xml bei 2,6247(Zeile,Spalte) in der Datei
entdeckt
---
Die Spalte 6247 ist die letzte Spalte.
Was mache ich falsch?
Lunix
LibreOffice-Dateien sind zip-Dateien, die man entpacken kann. Tut man das mit einer Datei ORIGINAL.odt, die Bilder enthält, entsteht ein Verzeichnis "Pictures", in dem die Bilder stehen. Es gibt Leute, denen unter Windows Folgendes gelungen ist:
- Bilder in "Pictures" löschen (zum Beispiel, um eine vertrauliche Datei zu "anonymisieren")
- Datei mit 7z wieder packen
- Datei öffnen
An den Stellen, an denen vorher Bilder waren, steht nun "Lesefehler", aber ansonsten ist die Datei unverändert.
Eine Datei mit drei Zeilen Text und drei kleinen Bildern auf einer Seite habe ich hier hochgeladen:
https://e1.pcloud.link/publink/show?cod ... OKnymxf7SX
(Wenn eine pdf-Datei zum Speichern angeboten wird, abbrechen und die dann zum Vorschein kommende odt-Datei herunterladen. Die Datei lösche ich am 02.04.2022.)
Bei mir klappt das nicht. Um das Problem einzugrenzen, habe ich diese Datei einfach mal entpackt und wieder gepackt. Das klappt:
[1] Datei "ORIGINAL.odt" entpacken:
$ unzip ORIGINAL.odt -d ORIGINAL
[2] Datei wieder packen:
$ cd ORIGINAL
$ zip -r ORIGINAL *
[3] Datei umbenennen:
$ mv ORIGINAL.zip ohneBilder.odt
Die entstehende Datei "ohneBilder.odt" lässt sich in LibreOffice öffnen - wunderbar.
Wenn ich aber die Bilder lösche, lässt sich die entstehende Datei nicht öffnen:
[1] Datei "ORIGINAL.odt" entpacken:
$ unzip ORIGINAL.odt -d ORIGINAL
[2] Bilder löschen:
$ cd ORIGINAL
$ cd Pictures
$ rm *
$ cd ..
[3] Datei wieder packen:
$ zip -r ORIGINAL *
[4] Datei umbenennen:
$ mv ORIGINAL.zip ohneBilder.odt
Wenn ich die Datei "ohneBilder.odt" mit LibreOffice öffnen möchte, erscheint die Meldung:
---
Lesefehler
Formatfehler in Textdokument content.xml bei 2,6247(Zeile,Spalte) in der Datei
entdeckt
---
Die Spalte 6247 ist die letzte Spalte.
Was mache ich falsch?
Lunix
Zuletzt geändert von Lunix am 05.03.2022 22:30:17, insgesamt 1-mal geändert.
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Was willst Du erreichen?
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Vielleicht macht das LO auf Linux besser als auf Wdose.
-
- Beiträge: 734
- Registriert: 09.09.2014 18:33:22
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: LibreOffice Writer: Datei entpacken, ändern, packen
"Es gibt Leute, denen unter Windows gelungen ist..." ist keine nützliche Beschreibung. Wann bzw. mit welcher LibreOffice-Version ist ihnen das gelungen? Hast du einen Link o.ä.?
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Was ich erreichen will, ist:
Aus einer LibreOffice-Datei möchte ich alle Bilder entfernen.
Als Weg dahin hatte ich mir vorgestellt:
1. Datei entpacken
2. Bilder im Verzeichnis "Pictures" löschen
3. Datei packen
Unter Windows 10 funktioniert das mit LibreOffice 6.2.4.2 und 7-zip 21.07(x64) wie folgt:
1. Datei über das Kontextmenü mit 7-zip öffnen
2. Bilder im Verzeichns "Pictures" löschen
3. 7-zip beenden
Das funktioniert unter Debian zwar auch mit der Archivverwaltung, ich möchte es aber über die Shell machen. Dazu verwende ich Debian 11 und LibreOffice 7.2.5.2 und dachte, es funktioniert auch mit zip (oder 7z) und unzip. Tut es bei mir aber nicht.
Aus einer LibreOffice-Datei möchte ich alle Bilder entfernen.
Als Weg dahin hatte ich mir vorgestellt:
1. Datei entpacken
2. Bilder im Verzeichnis "Pictures" löschen
3. Datei packen
Unter Windows 10 funktioniert das mit LibreOffice 6.2.4.2 und 7-zip 21.07(x64) wie folgt:
1. Datei über das Kontextmenü mit 7-zip öffnen
2. Bilder im Verzeichns "Pictures" löschen
3. 7-zip beenden
Das funktioniert unter Debian zwar auch mit der Archivverwaltung, ich möchte es aber über die Shell machen. Dazu verwende ich Debian 11 und LibreOffice 7.2.5.2 und dachte, es funktioniert auch mit zip (oder 7z) und unzip. Tut es bei mir aber nicht.
Re: LibreOffice Writer: Datei entpacken, ändern, packen
zip und 7z sind zwei verschiedene Kompressionsverfahren. Du wirst schon 7zip verwenden müssen und nicht zip/unzip. 7z ist das Kommandozeilenprogramm, mit dem du Archive extrahieren und ertellen kannst.Lunix hat geschrieben:02.03.2022 09:50:31... dachte, es funktioniert auch mit zip (oder 7z) und unzip. Tut es bei mir aber nicht.
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Wenn du tatsächlich die Version 6.x meinst – die ist anscheinend mindestens 3 Jahre alt. Vielleicht ist LibreOffice in der Zwischenzeit einfach strenger beim Validieren der Dateien geworden? Ich fände es aus verschiedenen, auch Sicherheitsgedanken, eigentlich nicht verkehrt, wenn sich ODT und co. nicht durch simples Löschen oder Austauschen der enthaltenen Bilder u.ä. manipulieren ließen. (Auch wenn das hier vielleicht nur ein zusätzliches Editieren der content.xml bräuchte.)Lunix hat geschrieben:02.03.2022 09:50:31Unter Windows 10 funktioniert das mit LibreOffice 6.2.4.2 […]
Manchmal bekannt als Just (another) Terminal Hacker.
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Es funktioniert mit aktuellem Debian (Debian 11) und aktuellem LibreOffice (7.2.5.2) mit der Archivverwaltung. Ich möchte lediglich das, was in der GUI funktioniert, in der Shell erledigen.
Dabei wundert mich, dass ein unzip und anschließendes zip funktioniert, aber unzip, ändern, zip nicht, auch nicht mit 7z. Mit der Archivverwaltung kann ich aber die Datei ändern.
Dass es unter Windows mit 7-zip funktioniert, war lediglich der Einstieg und tut jetzt eigentlich nichts mehr zur Sache. - Und ja, es ging bei Windows um LibreOffice 6.x, das auf einem Computer läuft, der als "Reiseschreibmaschine" ohne Internetzugang verwendet wurde und dieses LibreOffice noch installiert hat.
Dabei wundert mich, dass ein unzip und anschließendes zip funktioniert, aber unzip, ändern, zip nicht, auch nicht mit 7z. Mit der Archivverwaltung kann ich aber die Datei ändern.
Dass es unter Windows mit 7-zip funktioniert, war lediglich der Einstieg und tut jetzt eigentlich nichts mehr zur Sache. - Und ja, es ging bei Windows um LibreOffice 6.x, das auf einem Computer läuft, der als "Reiseschreibmaschine" ohne Internetzugang verwendet wurde und dieses LibreOffice noch installiert hat.
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Ich tippe mal, dass beim Neu-Zippen irgendwelche Metadaten des Zip-Archivs selbst verloren gehen oder ODT vielleicht gewisse Magic-Bytes am Anfang hat.Lunix hat geschrieben:02.03.2022 12:01:49Dabei wundert mich, dass ein unzip und anschließendes zip funktioniert, aber unzip, ändern, zip nicht, auch nicht mit 7z. Mit der Archivverwaltung kann ich aber die Datei ändern.
Darauf würde dies hindeuten:
Code: Alles auswählen
$ file *
clean_doc.odt: Zip archive data, at least v2.0 to extract
doc.odt: OpenDocument Text
Was aber anscheinend problemlos funktioniert: Die Bilder löschen ohne das Archiv auszupacken:
Code: Alles auswählen
zip --delete doc.odt 'Pictures/*'
Manchmal bekannt als Just (another) Terminal Hacker.
Re: LibreOffice Writer: Datei entpacken, ändern, packen
AFAIK sind odt-Dateien nicht für manuelle Änderung vorgesehen. Daher könnte ich mir vorstellen, dass die Wahrscheinlichkeit, die Datei aus Versehen "ungültig zu machen", sehr hoch ist.
Die saubere Variante wäre das automatische Löschen der Bilder innerhalb von LibreOffice, zum Beispiel mittels eines Makros [1] [2].
[1] https://askubuntu.com/a/260047
[2] https://ask.libreoffice.org/t/writer-ho ... nt/14649/2
EDIT: Link in Fußnote "[2]" korrigiert.
Die saubere Variante wäre das automatische Löschen der Bilder innerhalb von LibreOffice, zum Beispiel mittels eines Makros [1] [2].
[1] https://askubuntu.com/a/260047
[2] https://ask.libreoffice.org/t/writer-ho ... nt/14649/2
EDIT: Link in Fußnote "[2]" korrigiert.
Zuletzt geändert von tegula am 02.03.2022 18:42:20, insgesamt 1-mal geändert.
-
- Beiträge: 734
- Registriert: 09.09.2014 18:33:22
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Vielleicht ignoriert "zip -r" aus irgendeinem Grund das leere Verzeichnisse beim Packen? Enthält denn dein resultierendes Archiv noch ein "Pictures"-Verzeichnis?
Aber JTHs Vorschlag sollte dein Problem ja lösen.
Aber JTHs Vorschlag sollte dein Problem ja lösen.
Re: LibreOffice Writer: Datei entpacken, ändern, packen
Der Tipp von JTH ( zip --delete doc.odt 'Pictures/*' ) ist klasse - danke!!
Auch tegula danke ich für den Makro-Hinweis.
Korodny hat gefragt, ob zip -r leere Verzeichnisse ignoriert und ob die händisch gepackte zip-Datei wieder ein (leeres) Verzeichnis "Pictures" enthält. Antwort: Ja, tut sie. zip -r hat das leere Verzeichnis mitgepackt.
Mein Problem ist anders gelöst, als ich vermutet hatte, aber einfacher gelöst und vor allem: gelöst.
Herzlichen Dank an alle!
Auch tegula danke ich für den Makro-Hinweis.
Korodny hat gefragt, ob zip -r leere Verzeichnisse ignoriert und ob die händisch gepackte zip-Datei wieder ein (leeres) Verzeichnis "Pictures" enthält. Antwort: Ja, tut sie. zip -r hat das leere Verzeichnis mitgepackt.
Mein Problem ist anders gelöst, als ich vermutet hatte, aber einfacher gelöst und vor allem: gelöst.
Herzlichen Dank an alle!