Mobileread
Konvertieren von RTF zu ...
#1  ate 06-06-2008, 03:56 PM
Hi !

Ich habe meine PDF-eBooks zumeist auch als RTF abgespeichert (Acrobat > Speichern als ...).

Nun versteht der Bookeen ja bekanntlich (noch) kein RTF.

Mit einem einfachen Abspeichern als TXT bzw. Umwandeln als HTML ist es aber nicht getan. Da habe ich dann zumeist Zeilenumbrüche an Stellen, wo die nicht hingehören und dann noch ein oder zwei Wörter allein auf der nächsten Zeile.

Nun ja ... der Mobipocket Creator hilft da auch recht wenig. Auch wenn das eBook mit dem Reader am PC dann lesbar wäre, so sieht es doch auf dem Bookeen ähnlich bescheiden aus.

Dann gibt's da noch den BookDesigner, aber da muss ich auch jedes Buch erst ewig nachbearbeiten und korrigieren (vielleicht verstehe ich aber auch einige Einstellungen dort nicht richtig).

Das Tool TXT2Latex Version 0.49 funktioniert noch mit am Besten, allerdins nur für die Umwandlung von PDF in TXT bzw. HTML. Dort werden die störenden Zeilenumbrüche bzw. Worttrennungen recht gut entfernt (allerdings auch meist die Formatierungen).

Aber eigentlich habe ich die eBooks ja bereits als RTF, wenn auch noch nicht optimiert, vorliegen...

Meine Fragen also :

Gibt's noch andere Tools oder Lösungsansätze um aus RTF's (erstellt mit der Acrobat-Speichern-Funktion) relativ einfach lesbare Bücher für den Bookeen zu machen ?

Wie sind da eure Erfahrungen?


Danke


PS: Wie sieht es eigentlich mit großen Bildern im Buch aus (habe ich noch nicht getestet) ? Bin übrigens auch für Tipps zum BookDesigner offen.
Reply 

#2  Alexander Turcic 06-08-2008, 12:02 PM
Zumindest für den Sony Reader gibt es Tools, die PDF Dateien 1:1 in Bilder umwandeln, die dann sehr gut auf dem screen zu lesen sind. Vielleicht gibt es sowas auch für den Cybook?
Reply 

#3  walkpoint 06-08-2008, 01:08 PM
Hi

Ich öffne ein RTF meistens mit Word, dann speicher ich die Datei als ein Doc File und das konvertiere ich (inkl Titelbild) mit dem Creator in ein PRC File.
Damit hatte ich bis jetzt keine Probleme.

Gruß Walkpoint
Reply 

#4  KLausPetersen 06-09-2008, 09:17 AM
rtf mit Word öffnen und dann als HTML speichern, hat sich bei mir meistens bewährt.

Wenn es dabei zu merkwürdigen Zeilenumbrüchen kommt, weil z.B. schon im Original RTF einfach nach jeder Zeile ein Zeilenumbruch fest drin war, dann kann man das durch Tricks auch mit Word hinbekommen.

z.B. in etwa so vorgehen:

Als erstes die gewollten Zeilenumbrüche ersetzen gegen Sonderzeichen, die sonst im Text nicht vorkommen.
1. alle doppelten Zeilenumbrüche gegen z.B. # tauschen
2. alle "." gefolgt von einem Zeilenumbruch gegen ".§" tauschen
3. ggf. Worttrennungen ( "-" gefolgt von Umbruch ) gleich komplett löschen (kann aber auch Fehler hervorrufen, wenn das - keine Worttrennung war)

Dann sämtliche restlichen Zeilenumbrüche gegen ein Leerzeichen tauschen.

Nun die gewollten Zeilenumbrüche wieder herstellen ( # gegen doppelten, § gegen einfachen )

Im Prinzip hat man jetzt Zeilenumbrüche nur noch an Satzenden und bei Absatzwechseln, wo mehr als ein Zeilenumbruch war. Das ist vor allem für Lesegeräte mit variablen Schriftgrössen dann schon deutlich besser zu lesen.

Das ist nicht immer 100% perfekt, aber es geht schnell.
Reply 

#5  Pulp 10-13-2008, 04:19 AM
Ich habe die besten Ergebnisse damit gemacht rtf als gefiltertes html in word abzuspeichern, danach lasse ich folgendes php-script drüberlaufen, daß ich geschrieben habe um unnötige tags und Zeilenumbrüche zu entfernen und das eine recht brauchbare html-version überläßt, die sich dann mit dem Mobipocket Creator importieren läßt.

Code
$text = str_replace(array("<body","</body>","<p","</p>"), array("{body}<body","</body>{/body}","{p}<p","</p>{/p}"), $text);
$text = strip_tags($text, "<b><i><u><html><head><title><h1><h2><h3><h4><h5><h6><img><ul><ol><li>");
$text = str_replace(array("{body}","{/body}","{p}","{/p}"," n "," n."," n,"), array("<body>","</body>","<p>","</p>","n ","n.","n,"), $text);
$text = preg_replace('/>\s*</','><',$text);
$text = preg_replace('/\s\s*\s/',' ',$text);
$text = preg_replace('/([a-zA-Z\d\,])<\/p><p>/','$1 ',$text);
$text = str_replace("</i><i>","",$text);
$text = str_replace("</b><b>","",$text);
$text = str_replace("</i><i>","",$text);
(es ließe sich sicher noch optimieren, aber dazu bin ich zu faul - ich bastel einfach immer noch was dazu wenn mir was neues auf-/einfällt )
Reply 

Today's Posts | Search this Thread | Login | Register