Bước tới nội dung

PDF.js

Bách khoa toàn thư mở Wikipedia
PDF.js
Thiết kế bởiAndreas Gal
Phát triển bởiMozilla
Phát hành lần đầu2 tháng 7 năm 2011 (2011-07-02)[1]
Phiên bản ổn định
2.3.200 / 19 tháng 10 năm 2019; 5 năm trước (2019-10-19)[1]
Kho mã nguồn
Viết bằngJavaScript, CSS, HTML
Nền tảngJavaScript engine, trình duyệt web
Kích thước3.94 MB[1]
Thể loạiTrình xem PDF
Giấy phépGiấy phép Apache 2.0[2]
Websitemozilla.github.io/pdf.js/

PDF.js hoặc pdf.js là một thư viện JavaScript hiển thị các tệp Định dạng Tài liệu Di động (PDF) bằng cách sử dụng HTML5 Canvas theo tiêu chuẩn web. Dự án được dẫn dắt bởi Quỹ Mozilla sau khi Andreas Gal ra mắt (ban đầu là một thử nghiệm) vào năm 2011.

Lịch sử và ứng dụng

[sửa | sửa mã nguồn]

PDF.js có thể hoạt động như một phần của trang web hoặc trình duyệt. Ban đầu được tạo dưới dạng tiện ích mở rộng của Firefox,[3] hiện nó được đưa vào Mozilla Firefox từ năm 2012 (phiên bản 15)[4][5] và được bật mặc định từ năm 2013 (phiên bản 19).[6][7] Nó cũng được bao gồm trong ownCloud[8], Nextcloud[9][10] và dưới dạng tiện ích mở rộng trình duyệt cho Google Chrome, Chromium,[11] Firefox cho Android,[12] Pale Moon[13]SeaMonkey.[14]

Các nhà phát triển cũng sẽ nhúng PDF.js vào phần mềm của họ để cho phép kết xuất và xem PDF trong trang web hoặc ứng dụng gốc, hoặc kết xuất trên máy chủ. Ví dụ về các tích hợp của PDF.js bao gồm trong Dropbox (dịch vụ) để xem trước tài liệu PDF,[15] Slack (phần mềm),[16]Linkedin để xem trực tuyến tài liệu khóa học có thể truy cập.[17] Một số sản phẩm phát triển phần mềm cũng dựa trên việc làm cho việc mở rộng PDF.js trở nên dễ dàng hơn.[18][19]

Theo một tiêu chuẩn, PDF.js có hiệu năng rất cao để xem hầu hết các tệp PDF phổ biến, trong khi nó có thể có một số vấn đề với các tài liệu lớn hoặc 'đồ họa nặng'.[20] Một phân tích khác cho thấy rằng giữa 1-3% tệp PDF trong một số tập hợp tài liệu nhất định sẽ làm sập hoặc đóng băng trình xem PDF.js, do tệp bị hỏng hoặc tệp phức tạp.[21]

PDF.js hỗ trợ hầu hết các đặc tả PDF, nhưng một số tính năng chưa được triển khai, điều này có thể ảnh hưởng đến hành vi kết xuất tùy thuộc vào các tính năng mà tài liệu sử dụng.[22]

Các tính năng PDF chưa được thêm vào PDF.js hoặc chưa hoàn chỉnh:

  • Nhóm nội dung tùy chọn (OCGs)
  • Hồ sơ màu ICC
  • Màu đốm
  • Mô phỏng in đè
  • Các nhóm trong suốt (tách rời/cách ly)
  • Một số họa tiết và đổ bóng
  • In độ nét cao
  • Biểu mẫu tương tác và điền được

Cộng đồng cộng tác viên PDF.js cũng lưu ý rằng hành vi trình duyệt của PDF.js thay đổi tùy theo sự hỗ trợ của trình duyệt đối với các tính năng bắt buộc của PDF.js.[23] Hiệu suất và độ tin cậy sẽ tốt nhất trên Chrome và Firefox, vì đang được hỗ trợ đầy đủ và đã có kiểm thử tự động.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ a b c “Releases · mozilla/pdf.js”. GitHub.
  2. ^ “pdf.js/LICENSE at master · mozilla/pdf.js”. GitHub.
  3. ^ “PDF Viewer(discontinued)”. addons.mozilla.org. Bản gốc lưu trữ ngày 5 tháng 12 năm 2015. Truy cập ngày 2 tháng 12 năm 2015.
  4. ^ Parfeni, Lucian (30 tháng 4 năm 2012). “PDF.JS and Download Manager Panel Pushed to Firefox 15”. Softpedia. SoftNews.
  5. ^ Blagoveschenskiy, Anton (29 tháng 8 năm 2012). “Вышла новая версия браузера Firefox 15” [New version 15 of the Firefox browser released] (bằng tiếng Nga). Truy cập ngày 9 tháng 9 năm 2012.
  6. ^ “Bug 773397 – Disable pdf.js prior to FF15 beta 5”. bugzilla.mozilla.org.
  7. ^ “Firefox 19.0 Release Notes”. mozilla.org. Truy cập ngày 30 tháng 4 năm 2013.
  8. ^ “owncloud/files_pdfviewer”. Truy cập ngày 7 tháng 7 năm 2020.
  9. ^ “nextcloud/files_pdfviewer: A PDF viewer for Nextcloud”. Truy cập ngày 7 tháng 7 năm 2020.
  10. ^ “PDF viewer - Apps - App Store - Nextcloud”. apps.nextcloud.com. Truy cập ngày 28 tháng 3 năm 2020.
  11. ^ “PDF Viewer”. Chrome Web Store.
  12. ^ “Android PDF.js”. addons.mozilla.org.
  13. ^ “Add-ons - Moon PDF Viewer”. Pale Moon - Add-ons. Bản gốc lưu trữ ngày 3 tháng 1 năm 2020. Truy cập ngày 6 tháng 7 năm 2020.
  14. ^ “PDF Viewer for SeaMonkey”. Add-ons for SeaMonkey.
  15. ^ https://dropbox.tech/application/annotations-on-document-previews
  16. ^ https://slack.engineering/what-matters-to-you-matters-to-us-10ff49650a5d
  17. ^ https://engineering.linkedin.com/blog/2019/04/under-the-hood--learning-with-documents
  18. ^ https://news.ycombinator.com/item?id=22763656
  19. ^ https://pdfjs.express/blog/introducing-pdfjs-express
  20. ^ https://hacks.mozilla.org/2014/05/how-fast-is-pdf-js/
  21. ^ https://www.pdftron.com/blog/pdf-js/pdf-js-reliability-benchmark/
  22. ^ https://www.pdftron.com/blog/pdf-js/guide-to-pdf-js-rendering/
  23. ^ [1]

Liên kết ngoài

[sửa | sửa mã nguồn]