EPUB ফর্ম্যাট একসাথে বিভিন্ন স্পেসিফিকেশন / ফর্ম্যাট একত্রিত করে:
- বইয়ের বিষয়বস্তু কেমন দেখতে হবে তা বলতে (এক্সএইচটিএমএল 1.1 + সিএসএসের একটি উপসেট)
- এমন একটি "ম্যানিফেস্ট" সংজ্ঞায়িত করতে যা সেই সামগ্রী তৈরি করে এমন সমস্ত ফাইলের তালিকা করে (ওপিএফ, যা একটি এক্সএমএল ফাইল)
- সবকিছু কীভাবে প্যাকেজ করা হয়েছে তা নির্ধারণ করার জন্য একটি (ওইবিপিএস: ম্যানিফেস্টের সমস্ত কিছুর একটি জিপ ফাইল এবং কয়েকটি অতিরিক্ত ফাইল)
চশমাটি কিছুটা দুরন্ত দেখাচ্ছে তবে বাস্তবে একবার আপনি বেসিকগুলি (আনজিপিং, এক্সএমএল পার্সিং) পেয়ে গেলে এটি বিশেষত কঠিন বা জটিল নয়।
আপনাকে কীভাবে ইপাব ডাউনলোড করতে হবে, এটিকে কোথা থেকে আনজিপ করা, ম্যানিফেস্টটি বিশ্লেষণ করতে এবং তারপরে প্রাসঙ্গিক সামগ্রীটি প্রদর্শন করতে হবে।
আপনি যদি শুরু করে থাকেন তবে কিছু পয়েন্টার:
সামগ্রী প্রদর্শন করতে UIWebView
আপাতত একটি ব্যবহার করুন।
আপনার কোডের জন্য এখানে একটি উচ্চ পর্যায়ের পদক্ষেপ রয়েছে:
1) একটি দিয়ে একটি ভিউ তৈরি করুন UIWebView
2) EPUB ফাইলটি ডাউনলোড করুন
3) উপরে লিঙ্কযুক্ত জিপ লাইব্রেরিটি ব্যবহার করে আপনার অ্যাপ্লিকেশনটির নথি ফোল্ডারে একটি উপ-ডিরেক্টরিতে আনজিপ করুন
৪) META-INF/container.xml
উপরের লিঙ্কযুক্ত টিবিএক্সএমএল ব্যবহার করে (যদি এই ফাইলটির EPUB অবৈধ না থাকে ) এক্সএমএল ফাইলটি পার্স করুন
5) এই এক্সএমএলে, মিডিয়া-টাইপ সহ প্রথম "রুটফাইল" সন্ধান করুন application/oebps-package+xml
। এটি বইটির ওপিএফ ফাইল।
)) ওপিএফ ফাইলটি পার্স করুন (এছাড়াও এক্সএমএল)
7) এখন আপনার জানা দরকার বইটির প্রথম অধ্যায়টি কী।
ক) প্রতিটি <item>
মধ্যে <manifest>
উপাদান একটি আইডি এবং একটি href হয়েছে। এগুলি এমন NSDictionary
জায়গায় সংরক্ষণ করুন যেখানে কীটি আইডি এবং অবজেক্টটি হ্রেফ।
খ) প্রথম দিকে তাকান <itemref>
মধ্যে <spine>
। এটিতে একটি আইড্রেফ বৈশিষ্ট্য রয়েছে যা (ক) এর একটি আইডির সাথে মিলে যায়। আইডিটি সন্ধান করুন NSDictionary
এবং আপনি একটি href পাবেন।
গ) এটি ব্যবহারকারীকে দেখানোর জন্য প্রথম অধ্যায়ের ফাইল। পুরো পথটি কী তা বোঝার জন্য (ইঙ্গিত: এটি আপনি যেখানেই জিপ ফাইলটিকে (3) ইনপুট করে প্লাস (6) এর ওপিএফ ফাইলের ভিত্তি ডিরেক্টরিটি আনবেন না কেন
8) একটি NSURL
ব্যবহার তৈরি করুন fileURLWithPath:
, যেখানে পথটি (7c) থেকে পুরো পথ। UIWebView
আপনি তৈরি করা (1) ব্যবহার করে এই অনুরোধটি লোড করুন ।
আপনাকে ফরোয়ার্ড / পিছনের বোতামগুলি বা সোয়াইপগুলি বা এমন কিছু বাস্তবায়ন করতে হবে যাতে ব্যবহারকারীরা একটি অধ্যায় থেকে অন্য অধ্যায়ে যেতে পারেন। <spine>
পরবর্তী কোন ফাইলটি দেখাতে হবে তার জন্য কাজ করার জন্য ব্যবহার করুন - <itemrefs>
এক্সএমএলটি যাতে পাঠকের কাছে প্রদর্শিত হবে তার ক্রম।