EPUB ডকুমেন্ট রেন্ডারিংয়ের জন্য বিনামূল্যে জাভাস্ক্রিপ্ট লাইব্রেরি

ব্রাউজারে এবং অন্যান্য ডিভাইসে EPUB নথিগুলি অ্যাক্সেস এবং রেন্ডার করতে ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি।

সহজ ব্যবহারযোগ্য লাইব্রেরি খুঁজছেন যা ব্রাউজারের ভিতরে পাশাপাশি অন্যান্য অনেক ডিভাইসে EPUB নথি রেন্ডার করতে পারে। Epub.js হল একটি অত্যন্ত শক্তিশালী ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি যা প্রোগ্রামার এবং অ্যাপ্লিকেশনগুলিকে সহজেই ব্রাউজারে EPUB নথিগুলি অ্যাক্সেস এবং রেন্ডার করার অনুমতি দেয়৷ EPUB হল একটি খুব জনপ্রিয় EBook ফাইল ফর্ম্যাট যা প্রকাশক এবং ভোক্তাদের দ্বারা ব্যাপকভাবে ব্যবহৃত হয়। এটি ইন্টারনেট বিশ্বের অনেক ই-রিডার এবং সফ্টওয়্যার অ্যাপ্লিকেশন দ্বারা সমর্থিত এবং অন্যান্য অনেক ফরম্যাটে (যেমন PDF, Mobi এবং iBooks) পরিবর্তনযোগ্য।

Epub.js ই-বুকগুলি পরিচালনা করার জন্য খুবই উপযোগী কারণ এটি রেন্ডারিং, স্থিরতা এবং পেজিনেশন ইত্যাদির মতো সাধারণ ই-বুক কার্যকারিতাগুলির জন্য একটি ইন্টারফেস প্রদান করে। এর মধ্যে বেশ কয়েকটি গুরুত্বপূর্ণ রেন্ডারিং পদ্ধতি রয়েছে যেমন ডিফল্ট পদ্ধতি শুধুমাত্র একটি সময়ে একটি একক বিভাগ প্রদর্শন করে। ক্রমাগত ম্যানেজারটি স্ক্রীনটি পূরণ করার জন্য যতগুলি বিভাগ প্রয়োজন ততগুলি দেখাতে এবং পরবর্তী বিভাগটি অফ-স্ক্রীনে প্রিলোড করতে ব্যবহার করা যেতে পারে। ফ্লো ওভাররাইড বিভাগটি OPF-এর সেটিংসের উপর ভিত্তি করে, ডিফল্ট থেকে পেজিনেটেড।

লাইব্রেরিতে EPUB নথিগুলির সাথে কাজ করার জন্য বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য অন্তর্ভুক্ত করা হয়েছে, যেমন সমগ্র EPUB নথির ভিতরে অনুসন্ধান করা, বর্তমান অধ্যায় অনুসন্ধান করা, পৃষ্ঠাগুলি উল্টানোর জন্য সোয়াইপ করা, অবস্থানগুলি তৈরি করা এবং সংরক্ষণ করা, তীর কী দিয়ে পৃষ্ঠাগুলি ঘুরানো এবং আরও অনেক কিছু।

Previous Next

Epub.js দিয়ে শুরু করা

Epub.js npm-এ উপলব্ধ, প্রথমে আপনাকে node.js ইনস্টল করতে হবে এবং তারপরে আপনার মেশিনে Epub.js ইনস্টল করতে হবে। মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

npm এর মাধ্যমে Epub.js ইনস্টল করুন

 npm install

আপনি নিজেও এটি ইনস্টল করতে পারেন; সরাসরি GitHub রিপোজিটরি থেকে সর্বশেষ রিলিজ ফাইল ডাউনলোড করুন।

জাভাস্ক্রিপ্টের মাধ্যমে বিভিন্ন উপায়ে EPUB ডকুমেন্ট রেন্ডার করুন

ওপেন সোর্স Epub.js লাইব্রেরি সফটওয়্যার প্রোগ্রামারদের তাদের নিজস্ব জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের মধ্যে বিভিন্ন উপায়ে EPUB ডকুমেন্ট রেন্ডার করতে সক্ষম করে। লাইব্রেরি ডিফল্ট এবং অবিচ্ছিন্ন সহ দুটি ভিন্ন রেন্ডার পদ্ধতি অফার করে। ডিফল্ট রেন্ডারিং পদ্ধতিটি একবারে একটি একক বিভাগ প্রদর্শন করতে ব্যবহার করা যেতে পারে। অন্যদিকে অবিচ্ছিন্ন মোডটি স্ক্রীনটি পূরণ করতে এবং পরবর্তী বিভাগটি অফ-স্ক্রিন প্রিলোড করার জন্য প্রয়োজন অনুসারে একাধিক বিভাগ প্রদর্শন করতে ব্যবহার করা যেতে পারে।

বিভিন্ন উপায়ে জাভা লাইব্রেরিতে EPUB নথি রেন্ডার করুন


// Default Rendering
book.renderTo("area", { method: "default", width: "100%", height: "100%" });
// Continuous Rendering
book.renderTo("area", { method: "continuous", width: "100%", height: "100%" });
//Flow Overrides Paginated
book.renderTo("area", { flow: "paginated", width: "900", height: "600" });
//Scrolled: 
book.renderTo("area", { flow: "scrolled-doc" });

জাভাস্ক্রিপ্ট অ্যাপে EPUB নথিতে হুক প্রয়োগ করুন

Epub.js লাইব্রেরিতে বইয়ের বিষয়বস্তুগুলির সাথে ইন্টারঅ্যাক্ট এবং ম্যানিপুলেট করার জন্য প্লাগইনগুলির মতো একটি খুব দরকারী বৈশিষ্ট্য অন্তর্ভুক্ত করা হয়েছে৷ লাইব্রেরি এমন ইভেন্টগুলিকে প্রয়োগ করে যাতে আপনি সহজেই আবদ্ধ হতে পারেন৷ উদাহরণস্বরূপ ব্যবহারকারীরা টীকা প্রয়োগ করার আগে বা অধ্যায়ের বিষয়বস্তু প্রদর্শন করার আগে সরাসরি YouTube লিঙ্ক থেকে ভিডিও লোড করতে পারেন। হুকের নিবন্ধন করার জন্য একটি ইভেন্টের প্রয়োজন ছিল এবং এটি শেষ না হওয়া পর্যন্ত একটি ব্লক করার প্রতিশ্রুতি ফিরিয়ে দিতে পারে।

জাভা API এর মাধ্যমে ইউটিউব লিঙ্ক থেকে ভিডিওগুলি কীভাবে লোড করবেন

  rendition.hooks.content.register(function(contents, view) {
    var elements = contents.document.querySelectorAll('[video]');
    var items = Array.prototype.slice.call(elements);
    items.forEach(function(item){
      // do something with the video item
    });
})

জাভাস্ক্রিপ্টের মাধ্যমে EPUB ডকুমেন্ট ম্যানিপুলেট করা

ওপেন সোর্স Epub.js নতুন EPUB ডকুমেন্ট তৈরি করার জন্য এবং জাভাস্ক্রিপ্ট কোডের মাত্র কয়েকটি লাইন দিয়ে এটিকে ম্যানিপুলেট করার জন্য সম্পূর্ণ কার্যকারিতা প্রদান করেছে। .epub এক্সটেনশন সহ একটি ফাইল হল একটি জিপ ফাইল যাতে আপনার ইবুক সম্পর্কে একগুচ্ছ HTML, ছবি এবং মেটাডেটা থাকে৷ লাইব্রেরি নথি স্টাইল করার জন্য কাস্টম CSS এবং ফন্ট নির্দিষ্ট করার অনুমতি দেয়। এটি সমগ্র বই অনুসন্ধান বা বর্তমান অধ্যায় অনুসন্ধান, পৃষ্ঠাগুলি উল্টাতে সোয়াইপ, অবস্থান তৈরি এবং সংরক্ষণ ইত্যাদির জন্য বেশ কয়েকটি গুরুত্বপূর্ণ ফাংশন সরবরাহ করে।

Java API ব্যবহার করে EPUB নথিতে পৃষ্ঠাগুলি ঘুরিয়ে দিতে সোয়াইপ করুন

 rendition.on("displayed", event => {
    let start = null;
    let end = null;
    const el = event.document.documentElement;
    el.addEventListener('touchstart', event => {
        start = event.changedTouches[0];
    });
    el.addEventListener('touchend', event => {
        end = event.changedTouches[0];
        let hr = (end.screenX - start.screenX) / el.getBoundingClientRect().width;
        let vr = (end.screenY - start.screenY) / el.getBoundingClientRect().height;
        if (hr > vr && hr > 0.25) return rendition.prev();
        if (hr < vr && hr < -0.25) return rendition.next();
        if (vr > hr && vr > 0.25) return;
        if (vr < hr && vr < -0.25) return;
    });
});
 বাংলা