EPUB प्रारूप अलग-अलग विशिष्टताओं / स्वरूपों का एक गुच्छा लाता है:
- यह कहने के लिए कि पुस्तक की सामग्री कैसी दिखनी चाहिए (XHTML 1.1 + CSS का एक उपसमूह)
- एक "मैनिफ़ेस्ट" को परिभाषित करने के लिए जो उस सामग्री को बनाने वाली सभी फ़ाइलों को सूचीबद्ध करता है (ओपीएफ, जो एक एक्सएमएल फ़ाइल है)
- यह परिभाषित करने के लिए कि सब कुछ कैसे पैक किया जाता है (OEBPS: घोषणापत्र में सब कुछ की एक ज़िप फ़ाइल और कुछ अतिरिक्त फाइलें)
चश्मा थोड़ा कठिन लगता है, लेकिन वास्तव में एक बार जब आप मूल बातें प्राप्त कर लेते हैं (अनज़िपिंग, एक्सएमएल पार्सिंग) तो यह विशेष रूप से मुश्किल या जटिल नहीं है।
आपको ईपीयूबी को कैसे डाउनलोड करना है, इसे कहीं और अनज़िप करने के लिए, मैनिफ़ेस्ट को पार्स करने के लिए और फिर संबंधित सामग्री को प्रदर्शित करने के लिए काम करना होगा।
कुछ संकेत अगर आप अभी शुरू कर रहे हैं:
सामग्री प्रदर्शित करने के UIWebViewलिए अभी के लिए उपयोग करें ।
यहाँ आपके कोड के लिए एक उच्च स्तरीय कदम है:
1) a के साथ एक दृश्य बनाएं UIWebView
2) EPUB फ़ाइल डाउनलोड करें
3) ऊपर लिंक किए गए, जिप लाइब्रेरी का उपयोग करके इसे अपने ऐप के दस्तावेज़ फ़ोल्डर में एक उपनिर्देशिका पर अनज़िप करें
4) META-INF/container.xmlऊपर से जुड़े टीबीएक्सएमएल का उपयोग करके (यदि यह फाइल ईपीयूबी अमान्य नहीं है तो XML फाइल को पार्स करें )
5) इस एक्सएमएल में, मीडिया-प्रकार के साथ पहला "रूटफाइल" ढूंढें application/oebps-package+xml। यह पुस्तक के लिए ओपीएफ फ़ाइल है।
6) OPF फ़ाइल (XML भी) पार्स करें
7) अब आपको यह जानना होगा कि पुस्तक का पहला अध्याय क्या है।
a) तत्व <item>में प्रत्येक में <manifest>एक id और एक href है। इनमें स्टोर करें NSDictionaryजहां कुंजी आईडी है और ऑब्जेक्ट href है।
ख) पहले को देखो <itemref>में <spine>। इसमें एक idref विशेषता होती है जो id (a) में से किसी एक से मेल खाती है। उस आईडी को देखें NSDictionaryऔर आपको एक href मिलेगा।
c) यह उपयोगकर्ता को दिखाने के लिए पहले अध्याय की फाइल है। काम पूरा रास्ता क्या है (संकेत: यह जहाँ भी आप ज़िप फ़ाइल को (3) प्लस ओपीएफ फ़ाइल की आधार निर्देशिका में (6)) खोल दिया है
8) एक NSURLप्रयोग का निर्माण करें fileURLWithPath:, जहाँ पथ (7c) से पूर्ण पथ है। UIWebViewआपके द्वारा बनाए गए (1) का उपयोग करके इस अनुरोध को लोड करें ।
आपको आगे / पिछड़े बटन या स्वाइप या कुछ और लागू करने की आवश्यकता होगी ताकि उपयोगकर्ता एक अध्याय से दूसरे अध्याय में जा सकें। <spine>आगे कौन सी फाइल दिखानी है , यह काम करने के लिए उपयोग करें - <itemrefs>एक्सएमएल में एक्सएमएल क्रम में हैं जो उन्हें पाठक को दिखाना चाहिए।