[gelöst] LibreOffice Writer: Datei entpacken, ändern, packen

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Lunix
Beiträge: 50
Registriert: 25.10.2014 10:58:27

[gelöst] LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von Lunix » 01.03.2022 21:16:18

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
Zuletzt geändert von Lunix am 05.03.2022 22:30:17, insgesamt 1-mal geändert.

eggy
Beiträge: 3334
Registriert: 10.05.2008 11:23:50

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von eggy » 01.03.2022 21:24:25

Was willst Du erreichen?

rhHeini
Beiträge: 2799
Registriert: 20.04.2006 20:44:10

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von rhHeini » 01.03.2022 23:07:49

Vielleicht macht das LO auf Linux besser als auf Wdose.

Korodny
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

Beitrag von Korodny » 02.03.2022 01:20:10

"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.ä.?

Lunix
Beiträge: 50
Registriert: 25.10.2014 10:58:27

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von Lunix » 02.03.2022 09:50:31

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.

Benutzeravatar
MSfree
Beiträge: 11833
Registriert: 25.09.2007 19:59:30

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von MSfree » 02.03.2022 10:20:14

Lunix hat geschrieben: ↑ zum Beitrag ↑
02.03.2022 09:50:31
... dachte, es funktioniert auch mit zip (oder 7z) und unzip. Tut es bei mir aber nicht.
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.

JTH
Moderator
Beiträge: 3090
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von JTH » 02.03.2022 10:46:05

Lunix hat geschrieben: ↑ zum Beitrag ↑
02.03.2022 09:50:31
Unter Windows 10 funktioniert das mit LibreOffice 6.2.4.2 […]
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.)
Manchmal bekannt als Just (another) Terminal Hacker.

Lunix
Beiträge: 50
Registriert: 25.10.2014 10:58:27

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von Lunix » 02.03.2022 12:01:49

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.

JTH
Moderator
Beiträge: 3090
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von JTH » 02.03.2022 12:39:00

Lunix hat geschrieben: ↑ zum Beitrag ↑
02.03.2022 12:01:49
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.
Ich tippe mal, dass beim Neu-Zippen irgendwelche Metadaten des Zip-Archivs selbst verloren gehen oder ODT vielleicht gewisse Magic-Bytes am Anfang hat.

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/*'
Siehe man zip dazu. Vorsicht, doc.odt ist danach direkt „bereinigt“.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
tegula
Beiträge: 440
Registriert: 04.06.2004 13:51:04
Lizenz eigener Beiträge: MIT Lizenz

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von tegula » 02.03.2022 13:25:51

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.
Zuletzt geändert von tegula am 02.03.2022 18:42:20, insgesamt 1-mal geändert.

Korodny
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

Beitrag von Korodny » 02.03.2022 15:34:01

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.

Lunix
Beiträge: 50
Registriert: 25.10.2014 10:58:27

Re: LibreOffice Writer: Datei entpacken, ändern, packen

Beitrag von Lunix » 05.03.2022 22:28:20

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!

Antworten