Thư viện JavaScript miễn phí để kết xuất tài liệu EPUB
Thư viện JavaScript mã nguồn mở để truy cập và hiển thị tài liệu EPUB trong trình duyệt và trên các thiết bị khác.
Tìm kiếm thư viện đơn giản để sử dụng có thể hiển thị tài liệu EPUB bên trong trình duyệt cũng như trên nhiều thiết bị khác. Epub.js là một thư viện JavaScript mã nguồn mở rất mạnh cho phép các lập trình viên và ứng dụng truy cập và hiển thị các tài liệu EPUB trong trình duyệt một cách dễ dàng. EPUB là định dạng tệp Sách điện tử rất phổ biến được các nhà xuất bản và người tiêu dùng sử dụng rộng rãi. Nó được hỗ trợ bởi nhiều trình đọc sách điện tử và ứng dụng phần mềm trên khắp thế giới internet và có thể chuyển đổi sang nhiều định dạng khác (chẳng hạn như PDF, Mobi và iBooks).
Epub.js rất hữu ích để xử lý Sách điện tử vì nó cung cấp giao diện cho các chức năng phổ biến của Sách điện tử như kết xuất, duy trì và phân trang, v.v. Có một số phương thức kết xuất quan trọng, chẳng hạn như phương thức mặc định chỉ hiển thị một phần duy nhất tại một thời điểm. Trình quản lý liên tục có thể được sử dụng để hiển thị bao nhiêu phần cần lấp đầy màn hình và tải trước phần tiếp theo ngoài màn hình. Phần ghi đè luồng dựa trên các cài đặt trong OPF, mặc định là được phân trang.
Thư viện đã bao gồm một số tính năng quan trọng để làm việc với tài liệu EPUB, chẳng hạn như tìm kiếm bên trong toàn bộ tài liệu EPUB, tìm kiếm chương hiện tại, vuốt để lật trang, tạo và lưu vị trí, lật trang bằng phím mũi tên, v.v.
Bắt đầu với Epub.js
Epub.js có sẵn tại npm, Trước tiên, bạn cần cài đặt node.js và sau đó có thể cài đặt Epub.js trên máy của bạn. Vui lòng sử dụng lệnh sau để cài đặt trơn tru.
Cài đặt Epub.js qua npm
npm install
Bạn cũng có thể cài đặt thủ công; tải xuống các tệp phát hành mới nhất trực tiếp từ kho lưu trữ GitHub.
Kết xuất tài liệu EPUB theo nhiều cách khác nhau thông qua JavaScript
Thư viện Epub.js mã nguồn mở cho phép các lập trình viên phần mềm hiển thị Tài liệu EPUB theo nhiều cách khác nhau bên trong các ứng dụng JavaScript của riêng họ. Thư viện cung cấp hai phương thức kết xuất khác nhau, bao gồm mặc định và liên tục. Phương thức hiển thị mặc định có thể được sử dụng để hiển thị một phần tại một thời điểm. Mặt khác, chế độ liên tục có thể được sử dụng để hiển thị nhiều phần theo nhu cầu lấp đầy màn hình và tải trước phần tiếp theo ngoài màn hình.
Kết xuất tài liệu EPUB theo nhiều cách khác nhau qua Thư viện Java
// 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" });
Áp dụng Móc trong Tài liệu EPUB trong Ứng dụng JavaScript
Thư viện Epub.js đã bao gồm một tính năng rất hữu ích tương tự như các plugin để tương tác và thao tác với nội dung của cuốn sách. Thư viện triển khai các sự kiện mà bạn có thể dễ dàng tham gia. Ví dụ: người dùng có thể tải trực tiếp video từ liên kết YouTube trước khi triển khai chú thích hoặc hiển thị nội dung của chương. Các móc cần một sự kiện để đăng ký và một có thể trả lại một lời hứa để chặn cho đến khi chúng kết thúc.
Cách tải video từ liên kết YouTube qua API Java
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
});
})
Thao tác Tài liệu EPUB qua JavaScript
Epub.js mã nguồn mở đã cung cấp chức năng hoàn chỉnh để tạo Tài liệu EPUB mới và thao tác với nó chỉ bằng một vài dòng mã JavaScript. Một tệp có phần mở rộng .epub chỉ là một tệp zip chứa một loạt HTML, hình ảnh và siêu dữ liệu về Sách điện tử của bạn. Thư viện cho phép chỉ định CSS và phông chữ tùy chỉnh để tạo kiểu cho tài liệu. Nó cung cấp một số chức năng quan trọng để tìm kiếm toàn bộ sách hoặc tìm kiếm một chương hiện tại, vuốt để lật trang, tạo và lưu vị trí, v.v.
Vuốt để lật trang trong Tài liệu EPUB bằng API Java
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;
});
});