EmbedPDF เผชิญปัญหาความเข้ากันได้กับ Firefox และข้อกังวลเรื่องลิขสิทธิ์แม้จะมีประสิทธิภาพที่แข็งแกร่ง

ทีมชุมชน BigGo
EmbedPDF เผชิญปัญหาความเข้ากันได้กับ Firefox และข้อกังวลเรื่องลิขสิทธิ์แม้จะมีประสิทธิภาพที่แข็งแกร่ง

EmbedPDF ซึ่งเป็นโปรแกรมดู PDF แบบ JavaScript โอเพนซอร์สตัวใหม่ ได้เปิดตัวพร้อมคำมั่นสัญญาเรื่องความเข้ากันได้แบบไม่ขึ้นกับเฟรมเวิร์กและประสิทธิภาพที่ราบรื่น โครงการนี้สร้างขึ้นบนเอนจิน PDFium ของ Google และเผยแพร่ภายใต้ลิขสิทธิ์ MIT โดยมีเป้าหมายเพื่อให้เป็นทางเลือกที่ทันสมัยสำหรับโปรแกรมดู PDF ที่มีอยู่เช่น PDF.js ของ Mozilla อย่างไรก็ตาม การทดสอบเบื้องต้นจากชุมชนได้เผยให้เห็นปัญหาทางเทคนิคและกฎหมายหลายประการที่นักพัฒนาควรทราบ

การเปรียบเทียบคุณสมบัติหลัก

คุณสมบัติ EmbedPDF PDF.js
เอนจิน PDFium (WebAssembly) Custom JavaScript
ใบอนุญาต MIT + Apache 2.0 Apache 2.0
การใส่หมายเหตุ รองรับเต็มรูปแบบ (ไฮไลต์, หมึก, การปิดบัง) จำกัด
การรองรับเบราว์เซอร์ Chrome ✓, Firefox ✗ ทุกเบราว์เซอร์
ประสิทธิภาพ สูง (เหมือนแอปพลิเคชันดั้งเดิม) ปานกลาง
การรองรับเฟรมเวิร์ก React, Vue, Svelte, Vanilla JS ทุกเฟรมเวิร์ก

ปัญหาความเข้ากันได้กับ Firefox เริ่มปรากฏ

ผู้ใช้ค้นพบอย่างรวดเร็วว่าฟีเจอร์การใส่หมายเหตุของ EmbedPDF ไม่ทำงานอย่างถูกต้องใน Firefox แม้ว่าจะทำงานได้อย่างถูกต้องใน Chrome สาเหตุหลักดูเหมือนจะเป็น JavaScript error ที่ TouchEvent ไม่ได้ถูกกำหนดใน Firefox ทำให้ระบบการใส่หมายเหตุเสียหายโดยสิ้นเชิง ปัญหาความเข้ากันได้ของเบราว์เซอร์นี้น่ากังวลเป็นพิเศษสำหรับนักพัฒนาที่ต้องการการสนับสนุนข้ามเบราว์เซอร์สำหรับแอปพลิเคชันของพวกเขา

ปัญหานี้ขยายไปไกลกว่าความล้มเหลวของฟีเจอร์ธรรมดา ในบางกรณี การสลับระหว่างโหมดการปิดบังข้อมูลและโหมดการดูทำให้เครื่องมือการปิดบังข้อมูลยังคงทำงานอยู่ ทำให้ไม่สามารถเลื่อนดูเอกสารได้จนกว่าจะรีเฟรชหน้า

ปัญหาทางเทคนิคที่ระบุได้

  • ข้อผิดพลาด TouchEvent ใน Firefox: Uncaught ReferenceError: TouchEvent is not defined
  • บั๊กการเปลี่ยนโหมด: เครื่องมือ redaction ยังคงทำงานอยู่เมื่อเปลี่ยนไปใช้โหมดดู
  • ความเข้ากันได้ของ Annotation: คำอธิบายประกอบ PDF ที่มีอยู่บางส่วนอาจแสดงผลไม่ถูกต้อง
  • การออกใบอนุญาตเริ่มต้น: ข้อกำหนดการแจกจ่ายต่อของ Apache 2.0 ไม่ได้รับการปฏิบัติตามในตอนแรก

ข้อได้เปรียบด้านประสิทธิภาพเหนือโซลูชันที่มีอยู่

แม้จะมีปัญหาความเข้ากันได้ EmbedPDF แสดงคุณลักษณะด้านประสิทธิภาพที่น่าประทับใจซึ่งทำให้แตกต่างจากคู่แข่ง โปรแกรมดูจัดการการซูมได้อย่างราบรื่น แก้ไขหนึ่งในข้อร้องเรียนทั่วไปเกี่ยวกับ PDF.js ที่การซูมอย่างรวดเร็วอาจรู้สึกช้าและสูญเสียตำแหน่งโฟกัส การเพิ่มประสิทธิภาพนี้มาจากการใช้ประโยชน์จาก PDFium ที่คอมไพล์เป็น WebAssembly ซึ่งให้ความเร็วใกล้เคียงกับ native ในเว็บเบราว์เซอร์

โครงการนี้รวมฟีเจอร์ขั้นสูงเช่นการปิดบังข้อมูลจริงที่เนื้อหาถูกลบออกจากเอกสารจริงๆ การเลื่อนแบบเสมือนสำหรับไฟล์ขนาดใหญ่ และการสนับสนุนการใส่หมายเหตุอย่างครอบคลุมรวมถึงการไฮไลต์ โน้ตแบบติด และการใส่หมายเหตุด้วยหมึก

ข้อกังวลเรื่องการปฏิบัติตามลิขสิทธิ์ถูกยกขึ้น

สมาชิกชุมชนระบุปัญหาทางกฎหมายที่อาจเกิดขึ้นกับการตั้งค่าลิขสิทธิ์ของโครงการ ในขณะที่ EmbedPDF เองใช้ลิขสิทธิ์ MIT แต่มันรวมเอนจิน PDFium ของ Google ซึ่งได้รับลิขสิทธิ์ภายใต้ Apache 2.0 ในตอนแรก โครงการไม่ได้ปฏิบัติตามข้อกำหนดการแจกจ่ายซ้ำของ Apache 2.0 อย่างถูกต้อง แม้ว่านักพัฒนาจะได้แก้ไขข้อกังวลนี้ด้วยเอกสารที่อัปเดตแล้ว

ประเด็นดี คุณพูดถูกที่ PDFium เป็น Apache 2.0 ผมได้อัปเดตโครงการเพื่อปฏิบัติตามข้อกำหนดการแจกจ่ายซ้ำแล้ว

สิ่งนี้เน้นย้ำถึงความซับซ้อนของการจัดการลิขสิทธิ์หลายตัวในโครงการโอเพนซอร์ส โดยเฉพาะเมื่อรวมลิขสิทธิ์แบบอนุญาตเช่น MIT กับลิขสิทธิ์แบบใกล้เคียง copyleft เช่น Apache 2.0

การตอบสนองของนักพัฒนาและแผนอนาคต

นักพัฒนาของโครงการได้ตอบสนองต่อความคิดเห็นของชุมชนอย่างแข็งขัน ยอมรับปัญหาความเข้ากันได้ของเบราว์เซอร์และทำงานเพื่อแก้ไข ความพยายามในการพัฒนาเป็นเวลาเจ็ดเดือนแสดงให้เห็นถึงศักยภาพ แต่ปัญหา Firefox และการละเลยลิขสิทธิ์ในตอนแรกบ่งชี้ว่าโครงการอาจต้องการการทดสอบเพิ่มเติมก่อนการใช้งานจริง

ในขณะที่ EmbedPDF เสนอการปรับปรุงประสิทธิภาพที่น่าสนใจเหนือโซลูชันที่มีอยู่ นักพัฒนาควรประเมินข้อกำหนดการสนับสนุนเบราว์เซอร์และผลกระทบด้านลิขสิทธิ์อย่างรอบคอบก่อนการนำไปใช้ ผู้ดูแลที่ตอบสนองของโครงการและชุดฟีเจอร์ที่เติบโตบ่งชี้ถึงศักยภาพในการแก้ไขข้อจำกัดปัจจุบัน

อ้างอิง: embedpdf/embed-pdf-viewer