LibreOffice: Dateigröße von RTF-Dokumenten.

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von ottonormal » 07.12.2018 13:58:33

Hallo,

ich experimentiere immer noch viel mit dem RTF-Format für E-Bücher. Allgemein halte ich dieses Format sehr gut dafür gegeignet. Es hat allerdings Macken, die von LibreOffice verursacht werden.

Ein Beispiel:
Ich habe ein E-Buch aus einer PDF-Datei erstellt. Diese PDF hat eine ziemliche Größe von ca. 36 MB. Das Buch hat aber auch gut 500 Seiten und auf fast jeder Seite ein Bild. Von dieser PDF habe ich mir dann eine ODT-Datei erstellt. Die hat dann 78 MB. Speichere ich die dann im RTF-Format, um sie so direkt im CoolReader lesen zu können, hat diese dann sage und schreibe 4 GB!!!
Der CoolReader weigert sich dann auch die zu öffnen.

Das Thema hatten wir ja schon mal und es liegt wohl daran, dass LO alle Bilder im RTF-Dokument unkomprimiert speichert. Nun möchte ich wissen warum LO das macht und ob man das nicht ändern kann.

Dazu habe ich einen Test gemacht:
Einen beliebigen Artikel aus dem Netz kopiert und in LO eingefügt. Der Artikel hat 2 Seiten und ein JPG-Bild mit einer Größe von 700x470px darin.

Als ODT belegt dieses Dokument dann 133 KB, als RTF sind es 4 MB.
Ich habe dann das Bild in XnView geladen und in alle möglichen Formate unkomprimiert exportiert. Nie kam ich dabei auf mehr als knapp 1 MB. Wie schafft es LO dann das mit fast dem vierfachen noch zu toppen?

Bei einem solchen Dokument mit 2 oder vielleicht auch 10 Seiten und ein paar Bildern mache ich es dann normalerweise einfach so, dass ich das in AbiWord lade und da unter einem andern Namen als RTF speichere. Dann hat mein obiges Beispiel auch nur noch 245 KB statt der 4 MB von LO.

Solche umfangreichen E-Bücher wie oben mit 500 Seiten schafft Abiword natürlich nicht. Da friert Abiword, manchmal sogar das ganze System ein.

Wie kann ich also LO abgewöhnen solche unmöglichen RTF-Dokumente zu erzeugen? Warum werden die Bilder da nicht genauso behandelt wie bei ODT-Dokumenten?


Ach so, das E-Buch habe ich inzwischen zu einem FB2-E-Buch umgewandelt. Das hat zwar auch 72 MB, wird aber vom Reader problemlos geöffnet und lässt sich gut lesen.

Das Problem mit RTF interessiert mich ganz allgemein. Es ist ja die einfachste Methode selbst ein E-Buch zu erzeugen. Zumindest für den Eigenbedarf.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von cronoik » 07.12.2018 15:35:38

Grundsaetzlich muesstest du jedes einzelne Bild komprimieren, da es eine Funktionalitaet fuer Batch Komprimierung (noch) nicht gibt:
https://bugs.documentfoundation.org/sho ... ?id=107875
https://bugs.documentfoundation.org/sho ... i?id=34133

Das ist allerdings fuer Dokumente mit vielen Bildern nicht praktikabel. Als Workaround koenntest du die.odt-Datei (mit unzip) entpacken und dann im Pictures Ordner mit imagemagick (oder anderes) drueber gehen. Danach zippst du es wieder und alles ist gut. Eine weitere Moeglichkeit ist wahrscheinlich die API von Libreoffice, dazu kann ich aber weiter nichts sagen. Mit Python duerfte sich schnell etwas bauen lassen.
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von ottonormal » 07.12.2018 16:57:23

Danke für die Antwort.
In der ODT-Datei sind die Bilder ja schon komprimiert. Aufgebläht werden die ja erst, wenn die ODT als RTF gespeichert wird. Die RTF lässt sich aber nicht entpacken, auch nicht wenn sie in zip umbenannt wird. Jedenfalls habe ich es nicht geschafft.

Mir ist einfach auch nicht klar, was LO mit den Bildern macht wenn ODT zu RTF gespeichert wird. Da wird doch die Speichergröße verzehn- oder zwanzigfacht. Warum lässt LO die Bilder nicht so wie sie sind? Und warum nur bei RTF?

In Abiword geht das doch auch. Ja gut, eben nur bei kleineren Dokumenten. Und frei von anderen Macken ist Abiword ansonsten ja auch nicht.

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

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von eggy » 07.12.2018 17:20:55

https://en.wikipedia.org/wiki/Rich_Text_Format#Pictures
Sieht so aus, als wären die Bilder da immer doppelt drin, dann braucht man sich über die Größe nicht weiter wundern :mrgreen:

Scheint bei LO auch so implementiert zu sein, siehe ./libreoffice-6.1.3/sw/source/filter/ww8/README-rtf.txt (aus der Version in sid).
3.4. Graphics
PNG graphics are exported in WMF format as well, so that not only MSO and OOo can display graphics from the output document, but Wordpad as well.
Keine Ahnung ob sich das schon irgendwo abschalten lässt. Hab auf die Schnelle dazu nichts gefunden, die verantwortliche Funktion findet sich wohl in ./libreoffice-6.1.3/sw/source/filter/ww8/rtfattributeoutput.cxx ab Zeile 4005:
/*
If the graphic is not of type WMF then we will have to store two
graphics, one in the native format wrapped in shppict, and the other in
the wmf format wrapped in nonshppict, so as to keep wordpad happy. If its
a wmf already then we don't need any such wrapping
*/
Sollte relativ einfach sein, das entsprechend zu patchen, aber keine Ahnung, ob das in der Dokumentspezifikation optional ist oder ob andere Programme immer das Vorhandensein von zumindest WMF erwarten. Du könntest ja mal nen Wishlistbug bei LO aufmachen, und das dort weiter diskutieren. Verlink es dann bitte, würde mich auch interessieren wie das weitergeht.

Bis dahin versuch doch mal alle Bilder nach WMF zu konvertieren, der Beschreibung nach sollten die dann nur einmal eingebunden werden.

Edit: Typo gefixt

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von cronoik » 07.12.2018 17:28:23

Noch als Ergaenzung zu eggy:
ottonormal hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 16:57:23
In der ODT-Datei sind die Bilder ja schon komprimiert. Aufgebläht werden die ja erst, wenn die ODT als RTF gespeichert wird.
Das liegt aber vermutlich (!) eher daran, dass .odt eine .zip-Datei ist (zugegeben die Kompression ist bei Bildern nicht so toll) und die in rtf zweimal enthalten sind (siehe eggy's Beitrag). Was ich eigentlich meinte, ist dass wenn du die Bilder in .odt mit Verlusten komprimierst und dann eine rtf-Datei erzeugst, dann ist diese kleiner als ohne denn Komprimiervorgang (das waere nur ein Workaround).
ottonormal hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 16:57:23
Die RTF lässt sich aber nicht entpacken, auch nicht wenn sie in zip umbenannt wird. Jedenfalls habe ich es nicht geschafft.
Nein das geht so auch nicht, dass ist ein anderes Format.
ottonormal hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 16:57:23
In Abiword geht das doch auch. Ja gut, eben nur bei kleineren Dokumenten. Und frei von anderen Macken ist Abiword ansonsten ja auch nicht.
Ich kenne den Unterschied zwischen beiden Implementationen nicht. Moegliche waere das diese vorher komprimieren und/oder diese die Bilder nicht doppelt speichern.
Zuletzt geändert von cronoik am 07.12.2018 20:02:57, insgesamt 2-mal geändert.
Hilf mit unser Wiki zu verbessern!

Korodny
Beiträge: 705
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von Korodny » 07.12.2018 17:33:11

ottonormal hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 13:58:33
Ich habe ein E-Buch aus einer PDF-Datei erstellt. [...] Von dieser PDF habe ich mir dann eine ODT-Datei erstellt.
Da hast aus einer PDF-Datei eine ODT-Datei gemacht? Oder ist das einfach nur missverständlich formuliert? Auch der erste Satz macht keinen Sinn, soll das evtl. "E-Buch als PDF-Datei" erstellt (nicht "aus")?

Irgendwie ist mir dein Arbeitsprozess noch nicht 100% klar, was Aussagen zur Dateigröße ziemlich erschwert.
Die hat dann 78 MB. Speichere ich die dann im RTF-Format, um sie so direkt im CoolReader lesen zu können, hat diese dann sage und schreibe 4 GB!!!
Die meisten RTF-Anwendungen schreiben zwecks Kompatibilität ein Bild in zwei Formaten in ein RTF-Dokument - ein mal als JPEG/PNG, ein mal als WMF. Ich weiß nicht, wie Bilder in ein RTF-Dokument eingebunden werden, wenn ich mich recht erinnere war RTF reines ASCII - d.h. nicht-ASCII-Zeichen oder gar binäre Dateien wie Bilder müsste man irgendwie in ASCII kodieren - etwa wie base64 bei E-Mails. Dieses Verfahren würde die extreme Dateigröße möglicherweise erklären - mehrere hundert Bilder, als base64 o.ä. enkodiert...
ich experimentiere immer noch viel mit dem RTF-Format für E-Bücher. Allgemein halte ich dieses Format sehr gut dafür gegeignet. Es hat allerdings Macken, die von LibreOffice verursacht werden.
Warum? RTF ist nicht gepackt und reines ASCII, was offenbar massive Probleme bei der Dateigröße nach sich zieht ;) Außerdem ist es nicht wirklich standardisiert, d.h. welche EIgenschaften vom Zielgerät unterstützt werden kannst du nur raten bzw. hoffen. Außerdem sind Meta-Informationen (Autor, Title, Jahr...) zwar theoretisch möglich aber wohl nur schlecht unterstützt. Darüberhinaus hoffst du, dass das Zielgerät eine für Dokumente mit fixem, seitenbasiertem Layout gedachtes Dokumentenformat irgendwie so interpretiert, dass es auf einem beliebigen Screen gut aussieht...

Es gibt offene, standardisierte Formate für E-Books (epub, FictionBook) und E-Books mit fixem Layout (epub, PDF). Warum nutzt du die nicht?

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von ottonormal » 07.12.2018 19:31:36

Um erstmal alle Unklarheiten zu beseitigen. Ich habe eine (mehrere) PDF-Datei, die ein komplettes Buch enthält. Es spielt keine Rolle, um welches Buch es sich handelt, es ist aber im Netz ganz legal und frei downloadbar. Davon will ich ein E-Buch erstellen.

Dazu habe ich in meinem VBox-Windows7 ein Texterkennungsprogramm (OmniPage). Das ist einer der Gründe, weshalb ich immer noch nicht auf Windows verzichten kann, für Linux gibt es etwas gleichwertiges leider nicht.

Dieses Programm wandelt mir eine (unter anderem) PDF in div. andere Formate um. Z. B. auch in EPUB, RTF, DOC, DOCX, TXT usw.

Die Ergebnisse sind allgemein sehr gut, aber nicht perfekt. Es bedarf immer noch einiger kleinerer Nacharbeiten, was sich aber im Rahmen hält.

Ja, wenn ich nun die PDF als RTF (ist das, was ich meistens dafür wähle) vorliegen habe, importiere ich die in LibreOffice. Da speichere ich sie erst in ODF und bearbeite sie dann bis möglichst alle Fehler ausgemerzt sind.
Ich könnte natürlich die RTF auch direkt bearbeiten, speichern muss ich aber in jedem Fall zuletzt als RTF, weil ich das direkt im E-Buch-Leser oder Leseprogramm importieren und lesen kann.

Wenn ich dann allerdings eine RTF erhalte mit 4 GB, dann war das wohl ein Schuss in'n Ofen.

Natürlich kann ich das auch umwandeln in EPUB oder FB2, was ich auch oft genug mache, nur ist das dann natürlich mit noch mehr Arbeit verbunden. Deshalb bleibe ich oft gerne bei RTF. Bei kleineren Dateien von ca. 100 Seiten ist das ja auch kein Problem. Es können auch wesentlich mehr Seiten sein, nur nicht mit so vielen Bildern.

So, ich hoffe, ich habe verständlich machen können, was ich überhaupt mache bzw. will.

Zum Thema:

Auch wenn die Bilder in RTF immer doppelt gespeichert sind, kann doch dadurch die Größe nicht 20 mal größer werden als bei einer ODT-Datei. Ich verstehe das einfach immer noch nicht. Abgesehen auch davon, dass die Lesegeräte mit solchen Dateigrößen überfordert sind.
Und in den Eingeweiden von LibreOffice möchte ich lieber nicht rummachen.

Wie ich oben schon schrieb habe ich das Buch inzwischen ja im FB2-Format fertig. Das ist zwar sehr schön, aber eben mit viel zusätzlicher Arbeit verbunden. EPUB mache ich manchmal auch, FB2 ist mir aber von der Bearbeitung her sympathischer.

rodney
Beiträge: 334
Registriert: 09.12.2016 04:15:59

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von rodney » 07.12.2018 19:51:45

Vielleicht waere es einen Versuch wert: In Omipage als epub exportieren und mit Debiansigil die letzten Fehler korrigieren.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von cronoik » 07.12.2018 20:09:23

ottonormal hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 19:31:36
Auch wenn die Bilder in RTF immer doppelt gespeichert sind, kann doch dadurch die Größe nicht 20 mal größer werden als bei einer ODT-Datei.
Doch. Du darfst auch die ganzen Formatierungen (wird als Text in rtf gespeichert) und den eigentlichen Text nicht vergessen. Der laesst sich super gut, im Gegensatz zu den meisten Bildformaten (weil bereits komprimiert), komprimieren. Zippe doch mal deine grosse rtf-Datei, dann hast du wahrscheinlich ungefaehr die groesse der odt-Datei (inwieweit die doppelten Bilder im unterschiedlichen Format komprimiert werden koennen musst du dann mal sehen).
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von ottonormal » 07.12.2018 20:29:03

rodney hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 19:51:45
Vielleicht waere es einen Versuch wert: In Omipage als epub exportieren und mit Debiansigil die letzten Fehler korrigieren.
Das habe ich alles schon probiert und praktiziere ich auch manchmal. Es kommt immer auf die Vorlage an. Manche werden fast fehlerfrei ausgegeben und bei anderen ist das genaue Gegenteil der Fall. Auch mit Sigil ist das so, mal geht's fast von alleine und dann wieder überhaupt nicht. Ein Patentrezept für alle Fälle gibt es nicht.

Es ist wirklich so, dass ich mit RTF die besten Ergebnisse erziele. Eine perfekte RTF lässt sich dann natürlich auch in Calibre zu EPUB oder FB2 konvertieren. Nacharbeit erfordert das aber auch.

@cronoik
Ich habe mal die RTF-Datei aus meinem Test genommen. Die hat 4 MB. Als ZIP dann noch 2,1 MB und als 7z 1 MB. Das ist zwar schon einiges weniger, aber doch nicht soo viel.


Mal was anderes, gibt es eigentlich eine Alternative zu LibreOffice? Vielleicht können andere Programme das ja besser?

Korodny
Beiträge: 705
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von Korodny » 07.12.2018 21:31:34

ottonormal hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 19:31:36
Ich könnte natürlich die RTF auch direkt bearbeiten, speichern muss ich aber in jedem Fall zuletzt als RTF, weil ich das direkt im E-Buch-Leser oder Leseprogramm importieren und lesen kann.
Ist dir bewusst, dass LibreOffice auch epub exportieren kann? Der Export wird mit jeder Version besser - hier mit Version 6.1 kann ich ein Buch mit 21 Abbildungen problemlos ins epub-Format konvertieren und erhalte im Buch Vorschaubilder mit Untertitel, die ich dann beim Lesen bei Bedarf auf volle Größe aufblase. Kleinere Nacharbeiten (bessere/mehr Metadaten) mache ich mit Sigil.
Auch wenn die Bilder in RTF immer doppelt gespeichert sind, kann doch dadurch die Größe nicht 20 mal größer werden als bei einer ODT-Datei.
Noch mal: RTF ist das denkbar schlechteste Format für diesen Anwendungsfall. Ich würde damit nicht meine Zeit verschwenden.

Wenn du sowieso Windows benutzt, kannst du ja mal Word zum Vergleich heranziehen und schauen ob's dann besser wird? Eine ungepackte ASCII-Datei mit hunderten kodierten Binärdateien und ausführlichen Formatbeschreibungen im (Quasi-) Klartext wird immer ziemlich groß geraten.
Um erstmal alle Unklarheiten zu beseitigen. Ich habe eine (mehrere) PDF-Datei, die ein komplettes Buch enthält. [...] Davon will ich ein E-Buch erstellen.
Ein PDF ist schon ein E-Buch ;-) Ich nehme an, du willst aus einem PDF mit fixem (seitenbasiertem) Layout eine Datei machen, die der Reader nach Belieben (sprich: je nach Größe des Displays) neu formatieren kann?
Dazu habe ich in meinem VBox-Windows7 ein Texterkennungsprogramm (OmniPage). Das ist einer der Gründe, weshalb ich immer noch nicht auf Windows verzichten kann, für Linux gibt es etwas gleichwertiges leider nicht.
Wow, das Ding kostet ja richtig Geld - machst du das so oft, dass sich solche Ausgaben lohnen?

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von ottonormal » 07.12.2018 22:06:31

Korodny hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 21:31:34
Ist dir bewusst, dass LibreOffice auch epub exportieren kann?
Ja klar, EPUB aus LO mit "writer2epub" mache ich auch und ich gebe Dir recht, das wird wirklich immer besser. Früher fand ich die Ergebnisse immer grauenhaft, heute sind sie wirklich gut.
Aber, auch das erfordert erst eine vernünftig eingerichtete ODT oder auch RTF. Wenn die RTF in Ordnung ist, kann ich die auch gleich schon nutzen und so die Nacharbeit in Sigil sparen. Allerdings, wenn ich die Datei auch anderen zur Verfügung stelle, gebe ich EPUB schon den Vorzug.

Word habe ich in meinem Windows nicht, kann das also nicht vergleichen.
Und PDF als schon fertiges E-Buch? Im Normalfall wohl eher nicht. Allerdings kommt es auch vor, dass ich bei komplizierteren PDFs mit vielen Bildern, Tabellen usw. auch bei der fertigen PDF bleibe. dann allerdings auf dem Tablet mit dem MoonReader.

Ob sich OmniPage für mich lohnt? Ich wüsste nicht mehr, was ich ohne machen sollte. Ich habe das auch nicht gekauft sondern schon vor ein paar Jahren geerbt (kein Scherz).
Ich würde mich selbst aber auch als Vielleser bezeichnen und von daher glaube ich schon, dass sich das für mich lohnt. Zumal ich eher selten E-Bücher regulär kaufe, sondern auch viele PapierBücher einscanne und dann in E-Bücher umarbeite.

Korodny
Beiträge: 705
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von Korodny » 07.12.2018 22:21:45

ottonormal hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 22:06:31
Ja klar, EPUB aus LO mit "writer2epub" mache ich auch
Nein, nicht writer2epub . LO kann das inzwischen (glaube seit 6.0) nativ, per "Speichern Unter..."-Dialog.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: LibreOffice: Dateigröße von RTF-Dokumenten.

Beitrag von ottonormal » 07.12.2018 22:28:31

Das hatte ich irgendwo schon mal gelesen, ich bin aber immer noch bei der Stretch-Version 5.2.7.2, da bin ich auf writer2epub angewiesen.

Antworten