Fehler #423
ODT-Druckvorlagen defekt mit Perl 5.30 / ubuntu 20.04 LTS
0%
Description
Die Datei 'Angebot_2017006.odt' ist defekt und kann deshalb nicht geöffnet werden. LibreOffice kann versuchen, die Datei zu reparieren.
Hintergrund ist das Archive::Zip mit dieser Perl-Version, bzw. ubuntu Systemumgebung nicht richtig funktioniert, s.a. Ticket 422.
Der Umbau wie in Ticket 422 mit IO::Compress ist nicht ganz so trivial, deswegen ein extra Ticket.
https://stackoverflow.com/questions/16168300/iocompresszip-read-from-filehandle-into-buffer
https://unix.stackexchange.com/questions/258272/how-to-decompress-files-from-an-archive-ignoring-the-file-names
https://gist.github.com/eqhmcow/5389877
Die aktuelle Idee wäre es die komplette odt Struktur abzulaufen und einen neue Dateistruktur in Perl zu erstellen und diese dann als ZIP (ODT) auszugeben.
Bearbeitet werden müssten "nur" content.xml und styles.xml (wobei diese in meinen Tests leer war):
Processing member mimetype Processing member Thumbnails/thumbnail.png Processing member content.xml Processing member styles.xml Processing member meta.xml Processing member manifest.rdf Processing member Configurations2/floater/ Processing member Configurations2/menubar/ Processing member Configurations2/toolbar/ Processing member Configurations2/progressbar/ Processing member Configurations2/toolpanel/ Processing member Configurations2/images/Bitmaps/ Processing member Configurations2/popupmenu/ Processing member Configurations2/accelerator/current.xml Processing member Configurations2/statusbar/ Processing member settings.xml Processing member Basic/script-lc.xml Processing member Basic/Standard/script-lb.xml Processing member Basic/Standard/Conversion.xml Processing member META-INF/manifest.xml
Wahrscheinlich kann der Puffer so nicht direkt zurückgeschrieben werden, sondern es muss die Header-Struktur des ZIP-Archivs beibehalten werden.