ไลบรารี JavaScript ฟรีสำหรับการแสดงผลเอกสาร EPUB

Open Source JavaScript Library เพื่อเข้าถึงและแสดงเอกสาร EPUB ในเบราว์เซอร์และในอุปกรณ์อื่นๆ

กำลังมองหาไลบรารีที่ใช้งานง่ายที่สามารถแสดงเอกสาร EPUB ภายในเบราว์เซอร์ได้เช่นเดียวกับในอุปกรณ์อื่นๆ มากมาย Epub.js เป็นไลบรารี JavaScript แบบโอเพ่นซอร์สที่มีประสิทธิภาพมากซึ่งช่วยให้โปรแกรมเมอร์และแอปพลิเคชันเข้าถึงและแสดงผลเอกสาร EPUB ในเบราว์เซอร์ได้อย่างง่ายดาย EPUB เป็นรูปแบบไฟล์ EBook ยอดนิยมที่ผู้เผยแพร่และผู้บริโภคใช้กันอย่างแพร่หลาย ได้รับการสนับสนุนโดย e-reader และซอฟต์แวร์แอปพลิเคชันจำนวนมากทั่วโลกอินเทอร์เน็ต และสามารถแปลงเป็นรูปแบบอื่นๆ ได้มากมาย (เช่น PDF, Mobi และ iBooks)

Epub.js มีประโยชน์อย่างมากสำหรับการจัดการ eBook เนื่องจากมีส่วนต่อประสานสำหรับฟังก์ชัน eBook ทั่วไป เช่น การเรนเดอร์ การคงอยู่ และการแบ่งหน้า เป็นต้น มีวิธีการเรนเดอร์ที่สำคัญอยู่หลายส่วน เช่น วิธีเริ่มต้นจะแสดงทีละส่วนเท่านั้น สามารถใช้โปรแกรมจัดการต่อเนื่องเพื่อแสดงส่วนได้มากเท่าที่จำเป็นเพื่อให้เต็มหน้าจอ และโหลดส่วนถัดไปไว้ล่วงหน้านอกจอ ส่วนแทนที่โฟลว์ขึ้นอยู่กับการตั้งค่าใน OPF ค่าเริ่มต้นเป็นเลขหน้า

ไลบรารีได้รวมคุณสมบัติที่สำคัญหลายประการสำหรับการทำงานกับเอกสาร EPUB เช่น การค้นหาภายในเอกสาร EPUB ทั้งหมด การค้นหาบทปัจจุบัน การปัดเพื่อเปลี่ยนหน้า การสร้างและการบันทึกตำแหน่ง การเปลี่ยนหน้าด้วยปุ่มลูกศร และอื่นๆ อีกมากมาย

Previous Next

เริ่มต้นใช้งาน Epub.js

Epub.js พร้อมใช้งานในเวลา 12:00 น. ก่อนอื่นคุณต้องติดตั้ง node.js แล้วจึงติดตั้ง Epub.js บนเครื่องของคุณได้ โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น

ติดตั้ง Epub.js ผ่าน npm

 npm install

คุณสามารถติดตั้งด้วยตนเองได้ ดาวน์โหลดไฟล์รุ่นล่าสุดโดยตรงจากที่เก็บ GitHub

แสดงผลเอกสาร EPUB ด้วยวิธีต่างๆ ผ่าน JavaScript

ไลบรารี Epub.js แบบโอเพ่นซอร์สช่วยให้โปรแกรมเมอร์ซอฟต์แวร์แสดงเอกสาร EPUB ได้หลากหลายวิธีภายในแอปพลิเคชัน JavaScript ของตนเอง ไลบรารีนำเสนอวิธีการเรนเดอร์ที่แตกต่างกันสองวิธี ได้แก่ ค่าเริ่มต้นและแบบต่อเนื่อง วิธีการแสดงผลเริ่มต้นสามารถใช้เพื่อแสดงส่วนเดียวในแต่ละครั้ง ในทางกลับกัน สามารถใช้โหมดต่อเนื่องเพื่อแสดงหลายส่วนตามความต้องการเพื่อให้เต็มหน้าจอและโหลดส่วนถัดไปไว้ล่วงหน้านอกจอ

แสดงผลเอกสาร EPUB ด้วยวิธีต่างๆ ผ่าน Java Library


// 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" });

ใช้ Hooks ในเอกสาร EPUB ในแอป JavaScript

ไลบรารี Epub.js ได้รวมคุณสมบัติที่มีประโยชน์มากซึ่งคล้ายกับปลั๊กอินสำหรับการโต้ตอบและจัดการเนื้อหาของหนังสือ ห้องสมุดจัดกิจกรรมที่คุณสามารถติดได้ง่าย ตัวอย่างเช่น ผู้ใช้สามารถโหลดวิดีโอได้โดยตรงจากลิงก์ YouTube ก่อนที่จะใช้คำอธิบายประกอบหรือแสดงเนื้อหาของบท Hooks ต้องการกิจกรรมเพื่อลงทะเบียนและสามารถคืนสัญญาว่าจะบล็อกจนกว่าจะเสร็จสิ้น

วิธีโหลดวิดีโอจากลิงก์ YouTube ผ่าน Java 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 ผ่าน JavaScript

Epub.js แบบโอเพ่นซอร์สมีฟังก์ชันการทำงานที่สมบูรณ์สำหรับการสร้างเอกสาร EPUB ใหม่และจัดการด้วยโค้ด JavaScript เพียงไม่กี่บรรทัด ไฟล์ที่มีนามสกุล .epub เป็นเพียงไฟล์ zip ที่มี HTML รูปภาพ และข้อมูลเมตาจำนวนมากเกี่ยวกับ eBook ของคุณ ไลบรารีอนุญาตให้ระบุ CSS และฟอนต์แบบกำหนดเองสำหรับจัดรูปแบบเอกสาร มันมีฟังก์ชันที่สำคัญหลายอย่างสำหรับการค้นหาหนังสือทั้งเล่มหรือค้นหาบทปัจจุบัน ปัดเพื่อเปลี่ยนหน้า สร้างและบันทึกตำแหน่งที่ตั้ง และอื่นๆ

ปัดเพื่อเปลี่ยนหน้าในเอกสาร EPUB โดยใช้ Java API

 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;
    });
});
 ไทย