ইপাব ফর্ম্যাট পড়া


102

আমি ইপব ফাইলগুলি পড়ার জন্য একটি আইফোন অ্যাপ্লিকেশন বিকাশের চেষ্টা করছি। এটি বিকাশের জন্য কি কোনও কাঠামো পাওয়া যায়? এই ফাইল ফর্ম্যাটটি কীভাবে পড়বেন সে সম্পর্কে আমার কোনও ধারণা নেই। আমি এনএসএক্সএমএল পার্সার ব্যবহার করে .epub এক্সটেনশন সহ একটি নমুনা ফাইল পার্স করার চেষ্টা করেছি, কিন্তু এটি ব্যর্থ।

উত্তর:


304

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>এক্সএমএলটি যাতে পাঠকের কাছে প্রদর্শিত হবে তার ক্রম।


সত্যিই একটি ভাল টিউটোরিয়াল ..! শান্ত মানুষ..! আমি এই জাতীয়
ডেমোর

16
এটি লজ্জাজনক যে এই উত্তরটির জন্য কেবলমাত্র 1 টি প্রস্তাব দেওয়া সম্ভব
টিম ম্যাকনামারা

দুর্দান্ত উত্তর। এটি একটি FAQ হয়ে উঠছে :)
নিক গিবসন

9
অনেক অনেক ইউয়ান ধন্যবাদ ... যারা এখনও সমাধানের সন্ধান করছেন তাদের সকলের জন্য, আমি একটি নমুনা তৈরি করেছি এবং আদর্শের
২০১০ /

মনে রাখবেন যে "এটি কোথাও আনজিপ করা উচিত" এর কোনও বিশেষ প্রয়োজন নেই যদি আপনি এর অর্থ আলাদা আলাদা নতুন ফাইল তৈরি করতে চান যা জিপ সংরক্ষণাগারটির আনপ্যাক করা সামগ্রী নয়। জিপ একটি সহজ সরল বিন্যাস, এবং আপনার কাছে ইতিমধ্যে যদি এমন লাইব্রেরি না থাকে তবে লাইব্রেরি তৈরি করা আপনার সংরক্ষণাগারটিতে থাকা বিভিন্ন ফাইলের জন্য ইনপুট স্ট্রিম দেয় এমন সহজতর হওয়া উচিত। পূর্ণ উত্স সহ এই ধরনের একটি গ্রন্থাগারের একটি উদাহরণ হ'ল রুবিজিপ ( রুবিজিপ.সোর্সফোর্জন.নেট )।
সিজেএস

21

স্পষ্টতই EPUB একটি এক্সএমএল ফর্ম্যাট "ঠিক", সুতরাং আপনার যদি একটি এক্সএমএল পার্সার থাকে এবং নির্দিষ্টতা থাকে তবে এটি ঠিক আছে।

প্লাস একটু টুটো ? আনন্দ কর!

সম্পাদনা করুন: আপনি এখানে কিছু কোডও পড়তে পারেন , এটি এপুব তৈরির জন্য, সেগুলি না পড়লেও কোড কার্যকর হতে পারে।

আবার সম্পাদনা করুন: এবং ডান পাশের বারে সম্পর্কিত প্রশ্নের লিঙ্কগুলি দেখুন, ফ্রি ইবুক পাঠকের উত্তরের কয়েকটি লিঙ্ক রয়েছে যা ইপাব সমর্থন করে support


সম্পাদনা 3: আপনি আপনার প্রশ্ন সম্পাদনা করার সময় আপনার একটি মন্তব্য যুক্ত করা উচিত যাতে আপনার উত্তর দেওয়া লোকেরা আলোচনা চালিয়ে যেতে পারে (আপনি যদি মন্তব্য না করেন তবে আমরা আপনার সম্পাদনাটি লক্ষ্য করি না)।

সুতরাং, পার্সিং ব্যর্থ হয়েছে কারণ আপনি স্ট্যাক ওভারফ্লোতে কোনও নির্দিষ্ট বা সম্পর্কিত প্রশ্নগুলি পড়েন নি ... * .পব ফাইলটি একটি জিপযুক্ত ফোল্ডার যা এক্সএমএল ফাইল (গুলি) রয়েছে, সরল এক্সএমএল নয়।


6

আমি এই টিউটোরিয়ালটি একবার পড়েছিলাম (নিবন্ধের নিবন্ধের প্রয়োজন, দুঃখিত) এবং এটি আমাকে ইপাবের একটি দুর্দান্ত ভূমিকা দিয়েছে gave DeverloperWorks টিউটোরিয়াল এখানে

আমি আপনাকে বেশিরভাগ এক্সএমএল প্রসেসিং লাইব্রেরির দিকে নজর দেওয়ার পরামর্শ দিচ্ছি। আপনি যদি কেবল এক্সএমএল ফাইলের বাইরে নির্দিষ্ট তথ্য পেতে চান তবে সঠিক পার্সিং কৌশলটি বেছে নিতে পারেন।


এই টিউটোরিয়ালটি দুর্দান্ত এবং সেই ব্যক্তির দ্বারা লিখিত যিনি অনেকগুলি স্ট্যান্ডার্ড ওপেন সোর্স ইপাব সরঞ্জাম উপলব্ধ tools এটি দ্রুত পঠিত এবং ইপাব ফর্ম্যাটে একটি নিখুঁত কার্যকারী পরিচয় দেয়।
ব্রায়ান মোসকাউ


2

আমি আইফোন অ্যাপ্লিকেশনগুলির জন্য একটি এপুব-ফ্রেমওয়ার্ক তৈরির জন্য খেলছি।

এই মুহুর্তে (আমি সত্যিই কেবল স্টারেটেট) আমি অধ্যায়গুলির লিঙ্কগুলির সাথে একটি শিরোনাম পৃষ্ঠা তৈরি করতে পারি।

আমার পদ্ধতির হয়

  • আইকন কাঠামোটিকে একটি স্তর হিসাবে ব্যবহার করুন (সম্ভবত আমি ফোনগ্যাপে পরিবর্তিত হয়েছি) যা জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলিকে আইফোন অ্যাপ্লিকেশন হিসাবে অনুমতি দেয়
  • প্রকল্পটিতে রিসোর্স হিসাবে ইউএনজিপিড ইপাব যুক্ত করুন
  • Epub.js এর কোনও কাস্টমাইজড সংস্করণ (গুগল-কোডে কোথাও) দিয়ে পুরো জিনিসটি পার্স করুন

এই মুহুর্তে আমি পেজফ্লিপটি দেখছি, কিছু ধরণের গুই এবং ছোটখাটো ব্যবহারযোগ্যতার সমস্যা (বর্তমান পৃষ্ঠাটি পর্যালোচনা করা সংরক্ষণ করুন)

আমি আশা করি যে আপনি কীভাবে শুরু করবেন সে সম্পর্কে একটি ধারণা


এক্সপিএল পার্সিংয়ের ত্রুটি হিসাবে আমি কী ত্রুটি পেয়েছি সেটিতে আমি Epub.js ব্যবহার করেছি : কোনও উপাদান অবস্থান লাইন নম্বর 1 কলাম নম্বর 1 খুঁজে পাওয়া যায়নি আপনি কিছু লিঙ্ক সরবরাহ করে আমাকে সাহায্য করতে পারেন
user969275

আপনার কাঠামোর সাথে কি? আপনি এটি কোথাও প্রকাশ করেছেন?
ইয়াসির্মটর্ক

1

জোনাথন ওয়াইট (স্কওয়া) আইফোনে ইপাব ডকুমেন্টগুলি বিশ্লেষণ এবং প্রদর্শনের জন্য একটি ওবিজেসি সমাধান তৈরি করেছেন। এটি তার টাচকোড ওপেন সোর্স সংগ্রহস্থলের অংশ।


দয়া করে আমাকে টাচকোড ওপেন সোর্সটির লিঙ্কটি দিন
হিরেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.