EmbedPDF Đối Mặt Với Vấn Đề Tương Thích Firefox Và Mối Quan Ngại Về Bản Quyền Bất Chấp Hiệu Suất Mạnh Mẽ

Nhóm Cộng đồng BigGo
EmbedPDF Đối Mặt Với Vấn Đề Tương Thích Firefox Và Mối Quan Ngại Về Bản Quyền Bất Chấp Hiệu Suất Mạnh Mẽ

EmbedPDF , một trình xem PDF JavaScript mã nguồn mở mới, đã ra mắt với lời hứa về khả năng tương thích không phụ thuộc framework và hiệu suất mượt mà. Được xây dựng trên engine PDFium của Google và phát hành dưới giấy phép MIT , dự án này nhằm mục đích cung cấp một giải pháp thay thế hiện đại cho các trình xem PDF hiện có như PDF.js của Mozilla . Tuy nhiên, việc thử nghiệm cộng đồng ban đầu đã tiết lộ một số vấn đề kỹ thuật và pháp lý mà các nhà phát triển nên lưu ý.

So sánh các tính năng chính

Tính năng EmbedPDF PDF.js
Engine PDFium ( WebAssembly ) Custom JavaScript
Giấy phép MIT + Apache 2.0 Apache 2.0
Chú thích Hỗ trợ đầy đủ (highlight, ink, redaction) Hạn chế
Hỗ trợ trình duyệt Chrome ✓, Firefox ✗ Toàn cầu
Hiệu suất Cao (giống native) Trung bình
Hỗ trợ Framework React , Vue , Svelte , Vanilla JS Toàn cầu

Vấn Đề Tương Thích Firefox Xuất Hiện

Người dùng nhanh chóng phát hiện ra rằng các tính năng chú thích của EmbedPDF không hoạt động đúng cách trên Firefox , mặc dù hoạt động chính xác trên Chrome . Nguyên nhân gốc rễ dường như là lỗi JavaScript khi TouchEvent không được định nghĩa trong Firefox , khiến hệ thống chú thích bị hỏng hoàn toàn. Vấn đề tương thích trình duyệt này đặc biệt đáng lo ngại đối với các nhà phát triển cần hỗ trợ đa trình duyệt cho ứng dụng của họ.

Vấn đề mở rộng ra ngoài những lỗi tính năng đơn giản. Trong một số trường hợp, việc chuyển đổi giữa chế độ biên tập và chế độ xem khiến công cụ biên tập vẫn hoạt động, khiến việc cuộn qua tài liệu trở nên bất khả thi cho đến khi trang được làm mới.

Các Vấn Đề Kỹ Thuật Đã Xác Định

  • Lỗi TouchEvent trên Firefox: Uncaught ReferenceError: TouchEvent is not defined
  • Lỗi Chuyển Đổi Chế Độ: Công cụ che giấu thông tin vẫn hoạt động khi chuyển sang chế độ xem
  • Tương Thích Chú Thích: Một số chú thích PDF hiện có có thể không hiển thị chính xác
  • Cấp Phép Ban Đầu: Các yêu cầu phân phối lại Apache 2.0 ban đầu chưa được đáp ứng

Lợi Thế Hiệu Suất So Với Các Giải Pháp Hiện Có

Bất chấp các vấn đề tương thích, EmbedPDF cho thấy các đặc điểm hiệu suất ấn tượng giúp nó nổi bật so với các đối thủ cạnh tranh. Trình xem xử lý các thao tác phóng to một cách mượt mà, giải quyết một trong những khiếu nại phổ biến về PDF.js khi việc phóng to nhanh có thể cảm thấy chậm chạp và mất vị trí tiêu điểm. Sự cải thiện hiệu suất này đến từ việc tận dụng PDFium được biên dịch thành WebAssembly , cung cấp tốc độ gần như native trong các trình duyệt web.

Dự án bao gồm các tính năng nâng cao như biên tập thực sự khi nội dung thực sự được xóa khỏi tài liệu, cuộn ảo hóa cho các tệp lớn, và hỗ trợ chú thích toàn diện bao gồm đánh dấu, ghi chú dính và chú thích mực.

Mối Quan Ngại Về Tuân Thủ Bản Quyền Được Nêu Ra

Các thành viên cộng đồng đã xác định các vấn đề pháp lý tiềm ẩn với thiết lập bản quyền của dự án. Trong khi EmbedPDF tự nó sử dụng giấy phép MIT , nó kết hợp engine PDFium của Google được cấp phép dưới Apache 2.0 . Ban đầu, dự án không tuân thủ đúng cách các yêu cầu phân phối lại của Apache 2.0 , mặc dù nhà phát triển đã giải quyết mối quan ngại này với tài liệu cập nhật.

Điểm tốt, bạn đúng rằng PDFium là Apache 2.0 . Tôi đã cập nhật dự án để tuân thủ các yêu cầu phân phối lại.

Điều này làm nổi bật sự phức tạp của việc quản lý nhiều giấy phép trong các dự án mã nguồn mở, đặc biệt khi kết hợp các giấy phép cho phép như MIT với các giấy phép tương tự copyleft như Apache 2.0 .

Phản Hồi Của Nhà Phát Triển Và Kế Hoạch Tương Lai

Nhà phát triển của dự án đã tích cực phản hồi phản hồi cộng đồng, thừa nhận các vấn đề tương thích trình duyệt và làm việc trên các bản sửa lỗi. Nỗ lực phát triển bảy tháng cho thấy triển vọng, nhưng các vấn đề Firefox và sự giám sát bản quyền ban đầu cho thấy dự án có thể cần thêm thử nghiệm trước khi sử dụng sản xuất.

Trong khi EmbedPDF cung cấp các cải thiện hiệu suất hấp dẫn so với các giải pháp hiện có, các nhà phát triển nên đánh giá cẩn thận các yêu cầu hỗ trợ trình duyệt và ý nghĩa bản quyền trước khi áp dụng. Người duy trì phản hồi của dự án và bộ tính năng đang phát triển cho thấy tiềm năng giải quyết các hạn chế hiện tại.

Tham khảo: embedpdf/embed-pdf-viewer