Paginierung im Ereader-Stil

8

Ich nehme Textdaten aus XML-Dateien und möchte, dass sie in einem Buchseiten-ähnlichen Format in einem UIWebView auf dem iPad angezeigt werden. Die XML-Dateien stammen aus einem .epub , und jedes enthält ein einzelnes Kapitel eines Buchs, das nur durch p-Tags unterteilt ist.

Ich möchte diese Dateien dynamisch in buchähnliche Seiten paginieren, basierend auf der Größe des UIWebView , also eines vollständigen iPad-Bildschirms, sowie der vom Benutzer gewählten Schriftgröße. Ich lade gerade eine leere HTML-Seite mit zugehörigem css in ein UIWebView , schnappe Absätze basierend auf der Anzahl von Zeichen als Strings aus dem XML und drucke diese in den HTML-Code mit StringByEvaluatingJavaScriptFromString und der innerHTML-Eigenschaft.

Wenn Sie dies anhand der Anzahl der Zeichen tun, entstehen natürlich nicht richtig formatierte Seiten, aber ich bin mir nicht sicher, wie ich den Text sonst "paginieren" soll.

Was ich zu tun suche, ist etwas wie die App "eReader" auf dem iPad: Ссылка . Sie scheinen eine einzelne Datei dynamisch in Seiten zu zerlegen und sie in UIWebView s zu laden. Wie wird das gemacht?

    
Chris 17.11.2010, 19:41
quelle

3 Antworten

2

Die meisten EPUB-Reader, die auf UIWebView basieren, verwenden einfach CSS3-Spalten, um das Dokument zu paginieren.

Sie können dies in Aktion bei Ссылка

sehen

Die Grundidee ist, dass Sie das Dokument "columnize" und dann horizontal scrollen, um eine bestimmte Seite anzuzeigen.

Nachdem wir dies für eine beliebte (kanadische) eReader-Anwendung auf dem iPhone und iPad getan haben, kann ich Ihnen sagen, dass die Technik funktioniert, aber dass sie weit davon entfernt ist, ideal zu sein.

    
Stefan Arentz 17.11.2010 20:00
quelle
1

Der Code ist bereits vergeben. Es heißt epubjs. Es ist Javascript nur epub Leser.

    
Uddhava dasa 19.11.2010 12:47
quelle
0

Verwenden Sie UITextView mit PageviewController. (Geben Sie ggf. Ihre Zweifel an)

    
Karan Alangat 22.05.2014 07:11
quelle

Tags und Links