Skip to main content

วิธีเลือกโมดูล Drupal 7 สำหรับดูไฟล์ PDF

Anonim

เมื่อเร็ว ๆ นี้ลูกค้าได้ขอให้ฉันเพิ่มคุณลักษณะใหม่ลงในไซต์ Drupal ของ บริษัท : แสดงไฟล์ PDF ในเบราเซอร์ ขณะที่ฉันเรียกดูตัวเลือกใน drupal.org ฉันตระหนักว่านี่เป็นโอกาสที่ดีในการจัดทำเอกสารกระบวนการตัดสินใจของฉันขณะที่ฉันเลือกโมดูลใหม่ ฉันมักจะบอกว่าจะเลือกโมดูลอย่างชาญฉลาด แต่ตอนนี้คุณสามารถดูว่าฉันคิดอย่างไรกับสิ่งนี้ในชีวิตจริง

กำหนดสิ่งที่คุณต้องการ

ขั้นตอนแรกคือการกำหนดสิ่งที่คุณต้องการ ในกรณีของฉันฉันต้องการ:

  • ความสามารถในการดูไฟล์ PDF ในเว็บเบราเซอร์ซึ่งคล้ายกับตัวอย่างนี้ ลูกค้าจะอัปโหลดไฟล์ PDF ของจดหมายข่าวของ บริษัท และผู้เข้าชมจะสามารถอ่านได้ง่าย
  • ไซต์นี้เป็น Drupal 7 ดังนั้นโมดูลจะต้องตรงกับเวอร์ชันหลักนั้น (Drupal 7 ได้รับการออกสักครู่ตอนนี้ดังนั้นหากผู้พัฒนาโมดูลไม่ได้ออกมาพร้อมกับ Drupal 7 รุ่นยังพวกเขาอาจจะไม่.)
  • แม้ว่าไคลเอ็นต์ไม่ได้ระบุสิ่งนี้ แต่ฉันก็อยากหลีกเลี่ยงการพึ่งพาบริการของบุคคลที่สาม สำหรับวิดีโอฉันยินดีที่จะโพสต์เนื้อหาลงใน YouTube หรือ Vimeo แล้วฝังลงในไซต์ Drupal แต่สำหรับไฟล์ PDF ฉันไม่คิดว่าการเปิดรับภาพที่เป็นไปได้อาจเกินดุลถึงปัญหาเรื่องความยุ่งยากและค่าใช้จ่ายที่อาจเกิดขึ้น อย่างไรก็ตามฉันเปิดให้บริการของบุคคลที่สามหากเป็นทางเลือกเดียว
  • แม้ว่าฉันต้องการหลีกเลี่ยงการบริการของบุคคลที่สาม แต่ฉันก็รู้ว่าทางเลือกของฉันอาจต้องใช้จาวาสคริปต์ของบุคคลที่สาม ห้องสมุด . แม้ว่าจะเป็นการเพิ่มขั้นตอนเพิ่มเติมในการอัปเกรดในอนาคต แต่โดยทั่วไปแล้วฉันรู้สึกดีขึ้นในการใช้สำเนาห้องสมุดของตัวเองแทนที่จะใช้บริการของบุคคลที่สาม
  • ฉันต้องการให้โมดูลมีน้ำหนักเบาและเจาะจงมากที่สุด ฉันไม่ต้องการมีส่วนเกี่ยวข้องกับวิธีการใหม่ ๆ อย่างสิ้นเชิงในการจัดการหรือจัดระเบียบไฟล์มีเดีย ฉันต้องการบางอย่างมากขึ้นเช่น Colorbox ซึ่งจะขยายภาพเพื่อการรับชมที่ดีขึ้น แต่ยังคงเป็นอิสระอย่างสมบูรณ์ต่อวิธีที่คุณเลือกที่จะจัดการไฟล์ภาพ ฉันมีลางสังหรณ์ที่ห้องสมุดนี้จะเป็น pdf.js แต่ฉันก็เปิดกว้างสำหรับความเป็นไปได้อื่น ๆ
  • ตามปกติฉันต้องการทำตามหลักเกณฑ์ทั่วไปสำหรับการเลือกโมดูล Drupal โดยทั่วไปเลือกโมดูลที่มีอยู่แล้วในการใช้งานโดยไม่กี่พันคน (ถ้าเป็นไปได้) สักระยะหนึ่งโดยมีการพึ่งพาอย่างน้อยที่สุดซึ่งดูเหมือนว่าจะได้รับการดูแลโดยนักพัฒนาที่ใช้งานซึ่งวางแผนที่จะสนับสนุนโครงการต่อไปในอนาคตและไม่ได้เป็น ' t ต้องมีค่าธรรมเนียมใบอนุญาต

ค้นหาใน Drupal.org

ขั้นตอนต่อไปคือการค้นหาง่ายๆใน Drupal.org เวลาที่จะกระโดดลงไปในหลุมบอลของโมดูลดี

หน้า "เปรียบเทียบ" สำหรับโมดูล PDF

จุดแรกของฉันคือ (หรือควรจะเป็น) หน้านี้: การเปรียบเทียบโมดูล PDF viewer Drupal.org มีประเพณีที่ดีเยี่ยมในหน้าเอกสารซึ่งแสดงถึงข้อดีและข้อเสียของโมดูลต่างๆในพื้นที่เดียวกัน มีรายการเปรียบเทียบของหน้าเว็บกลาง แต่มีการโรยหน้าทั่วทั้งไซต์

หน้าการเปรียบเทียบ PDF รวมโมดูลผู้อ่าน PDF สี่รูปแบบ ฉันจะครอบคลุมพวกเขาที่นี่เช่นเดียวกับคนอื่น ๆ ที่ฉันพบจากการค้นหา ฉันจะเริ่มต้นกับผู้สมัครที่ฉันตัดสินใจที่จะข้ามไป

ตอนนี้ขอเจาะลึกรายละเอียดของเหตุผลที่โมดูลเหล่านี้ทำ (หรือส่วนใหญ่ไม่ได้) ทำงานในโครงการนี้

File Viewer

File Viewer ใช้ Internet Archive BookReader ซึ่งทำให้ฉันรู้สึกทึ่งเพราะฉันเป็นคนขยันขันแข็งใน Internet Archive ทุกครั้งที่ฉันไปที่นั่นฉันรู้สึกเกรี้ยวกราดของความกลัวและครอบงำที่ภูเขาของหนังสือที่ฉันสามารถดึงออกมาจากอีเทอร์

ที่ถูกกล่าวว่าเว็บไซต์สาธิตดูเล็กน้อยน่าเกลียดกับฉัน ฉันอาจจะอยู่กับมัน แต่ฉันสงสัยว่าลูกค้าของฉันจะเมื่อไหร่pdf.js ดูทันสมัยมากขึ้น

นอกจากนี้ในการดูหน้าโครงการครั้งที่สองผมเห็นการประกาศตัวหนาที่ด้านบน:โมดูลนี้ถูกย้ายไปยังโมดูล PDF อย่างเป็นทางการแล้ว. พอใช้ได้ ด้วยการติดตั้งน้อยกว่า 400 ครั้งการควบรวมกับโมดูล PDF ที่เป็นที่นิยมมากขึ้น (ซึ่งเราจะกล่าวถึงในช่วงเวลาหนึ่ง) ดูเหมือนจะเป็นการเคลื่อนไหวที่ดี อย่าดาวน์โหลดโมดูลที่ถูกผสาน / ย้าย / ละทิ้ง

ตัวจัดรูปแบบไฟล์ Google Viewer

Google Viewer File Formatter คือสิ่งที่ดูเหมือน: วิธีใช้ Google เอกสารเพื่อฝังการแสดงไฟล์ในหน้าเว็บของคุณ แม้ว่าฉันจะชอบความเก่งกาจของ Google เอกสารเป้าหมายหนึ่งของฉันก็คือการคงความเป็นอิสระจากบริการของบุคคลที่สาม

นอกจากนี้โมดูลนี้มีการติดตั้งไม่ถึง 100 รายการ

โปรแกรมดูเอกสาร Ajax

แม้ว่า "AJAX" เป็นคำจาวาสคริปต์ทั่วไป Ajax Document Viewer จึงหันมาพึ่งพาบริการของบุคคลที่สาม มีการติดตั้งเพียงประมาณ 100 รายการ กำลังเดินทางไป…

Scald PDF

Scald PDF มีการติดตั้งเพียง 40 ครั้ง แต่ต้องดูเพราะเป็นส่วนหนึ่งของโครงการขนาดใหญ่ที่ชื่อว่า Scald (ใช่) ในฐานะหน้าโครงการ Scald อธิบายว่า " Scald เป็นนวัตกรรมในการจัดการอะตอมของสื่อ ใน Drupal "

ประโยคนั้นยกธงสีแดงขนาดใหญ่ 2 อัน ได้แก่ "นวัตกรรมใหม่" และคำว่า "Media" จับคู่กับ "Atom" "อะตอม" เป็นคำที่ใช้สำหรับ "สิ่งของ" ซึ่งทำให้เป็นธงสีแดงทั้งหมดด้วยตัวเอง Drupal มีใจชอบสำหรับคำพูดที่ว่างเปล่าเหล่านี้: ปม , เอกลักษณ์ , ลักษณะ … ยิ่งคำศัพท์มากเท่าใดการเปลี่ยนแปลงอาจมีมากขึ้นเท่านั้น

ขณะที่ฉันเลื่อนลงสงสัยของฉันได้รับการยืนยัน ฉันอ่านการกล่าวอ้างที่น่าตื่นเต้นว่า Scald จะปรับปรุงวิธีจัดการสื่อในไซต์ของฉันอย่างไร

ตอนนี้ความจริงก็คือการจัดการสื่อของ Drupal อาจใช้การปรับปรุงใหม่ Scald ไม่ใช่โครงการที่มีความทะเยอทะยานเพียงอย่างเดียวในพื้นที่นี้อย่างไรก็ตามด้วยการติดตั้งน้อยกว่า 1000 ครั้งฉันไม่ต้องการเข้าชั้นล่าง

แน่นอนว่าในปีหน้า Scald อาจเป็น Views ถัดไป ที่จะหิน แต่อาจเป็นซอฟต์แวร์ที่ละทิ้งไปด้วยเส้นทางเล็ก ๆ ของเว็บไซต์ที่ไม่ได้รับอนุญาตให้ทิ้งไว้

ตอนนี้ผมอยากจะใช้วิธีแก้ปัญหาที่เต็มไปด้วยความทะเยอทะยานและเสี่ยงมาก เพียงแค่แสดงไฟล์ PDF โปรด นั่นคือทั้งหมดที่ฉันต้องการ

Shadowbox

Shadowbox ทำให้ฉันประหลาดใจ: อ้างว่าเป็นโซลูชันเดียวในการแสดงสื่อทุกประเภทตั้งแต่ไฟล์ PDF ไปจนถึงภาพวิดีโอ นี้ไม่ได้เป็นกวาดเป็น Scald เนื่องจากมันจะมุ่งเน้นไปที่ แสดง สื่อโดยไม่ต้องแนะนำแนวคิดใหม่ทั้งหมดเช่น "อะตอมของสื่อ" แต่ฉันชอบ Colorbox เหมือนที่ได้กล่าวมาแล้ว ฉันไม่ได้ต้องการคิดทบทวนเรื่องนี้

อย่างไรก็ตามฉันได้ทราบ (กับคร่ำครวญภายใน) ที่มีมากกว่า16,000 การติดตั้ง Shadowbox อาจเป็นทางเลือกที่มีประสิทธิภาพมากขึ้นในพื้นที่เดียวกัน ผม มี ไปดู

โมดูล Drupal ของ Shadowbox นั้นเป็นสะพานที่ห้องสมุด Javascript, Shadowbox.js ดังนั้นฉันจึงตรวจสอบจากเว็บไซต์ของห้องสมุด ที่นั่นฉันค้นพบเหตุผลสองประการที่จะต้องดำเนินการต่อไป

  • ไลบรารีต้องมีค่าธรรมเนียมใบอนุญาตสำหรับการใช้งานเชิงพาณิชย์ ค่าธรรมเนียมนี้มีเหตุผลพอสมควร แต่ฉันพยายามหลีกเลี่ยงซอฟต์แวร์โอเพ่นซอร์สที่ไม่เสียค่าใช้จ่าย
  • การค้นหาอย่างรอบคอบของคำถามที่พบบ่อยพบว่าตรงกันข้ามกับคำอธิบายในหน้าโมดูล Drupal ไฟล์ PDF คือ ไม่ 100% สนับสนุนโดยไลบรารี Shadowbox อุ่ย สิ่งที่ดีที่ฉันได้ตรวจสอบ

Two Contenders: "PDF" และ "PDF Reader"

หลังจากกำจัดส่วนที่เหลือตอนนี้ฉันมาถึงสอง contenders ชัดเจน: PDF และ PDF Reader

ทั้งสองโครงการมีความคล้ายคลึงกันที่สำคัญ:

  • ทั้งสองมีการติดตั้งเกือบ 3,000 ครั้งมากกว่าทางเลือกอื่น ๆ (ยกเว้น Shadowbox)
  • ทั้งสองใช้ห้องสมุด Javascript เดียวกันภายนอกpdf.js.

สิ่งที่เกี่ยวกับความแตกต่าง?

เครื่องอ่าน PDF มีตัวเลือกสำหรับการผสานรวม Google Docs ในกรณีนี้ฉันคิดว่าลูกค้าของฉันอาจชอบที่ฉันจึงชอบมีตัวเลือก

ในขณะเดียวกัน, รูปแบบไฟล์ PDF ถูกทำเครื่องหมายเป็นการหาผู้ร่วมดูแลรักษา (s). นั่นอาจเป็นสัญญาณว่านักพัฒนาซอฟต์แวร์จะละทิ้งโครงการ แต่ในทางกลับกันการกระทำครั้งล่าสุดเมื่อสัปดาห์ที่แล้วดังนั้นอย่างน้อยนักพัฒนาซอฟต์แวร์ก็ยังคงใช้งานอยู่

ในทางกลับกัน, เครื่องอ่าน PDF ถูกทำเครื่องหมายเป็นรักษาไว้อย่างแข็งขันแต่การกระทำล่าสุดคือหนึ่งปีที่ผ่านมา

หากไม่มีผู้ชนะที่ชัดเจนฉันตัดสินใจที่จะทดสอบทั้งสองอย่าง

ทดสอบคู่แข่ง

ฉันทดสอบทั้งสองโมดูลในสำเนาเว็บไซต์ที่ใช้งานจริงของฉัน (ไม่ว่าหน่วยของแข็งและไม่มีอันตรายจะปรากฏขึ้นอย่าลองใช้ไซต์ออนไลน์เป็นครั้งแรกคุณสามารถทำลายไซต์ทั้งหมดของคุณได้)

ฉันมีความลำเอียงต่อ เครื่องอ่าน PDF เนื่องจากดูเหมือนว่าจะมีตัวเลือกมากขึ้น (เช่น Google เอกสาร) กว่า รูปแบบไฟล์ PDF . ดังนั้นฉันจึงตัดสินใจลอง รูปแบบไฟล์ PDF แรกเพื่อให้มันออกไปจากทาง

PDF Fail: ต้องการการคอมไพล์หรือไม่?

อย่างไรก็ตามเมื่อติดตั้งแล้ว รูปแบบไฟล์ PDF และอ่านREADME.txtฉันค้นพบปัญหาที่ฉันเห็น แต่ไม่สนใจในหน้าโครงการ ด้วยเหตุผลบางประการโมดูลนี้น่าจะต้องการให้คุณคอมไพล์pdf.js ด้วยมือ แม้ว่าหน้าโครงการแนะนำว่าไม่จำเป็นต้องREADME.txt แนะนำมัน

ตั้งแต่ เครื่องอ่าน PDF จะใช้ห้องสมุดเดียวกันแน่นอนโดยไม่ต้องมีขั้นตอนนี้ฉันตัดสินใจที่จะลองก่อนเลย ถ้าไม่ได้ผลฉันก็สามารถกลับไปได้ รูปแบบไฟล์ PDF และพยายามคอมไพล์ด้วยตนเองpdf.js.

PDF Reader: ความสำเร็จ! เรียง

ดังนั้นในที่สุดฉันก็พยายาม เครื่องอ่าน PDF . โมดูลนี้มีวิดเจ็ตใหม่สำหรับการแสดง aไฟล์ สนาม คุณเพิ่มฟิลด์ไฟล์ลงในประเภทเนื้อหาที่คุณต้องการและตั้งค่าประเภทวิดเจ็ตเครื่องอ่าน PDF. จากนั้นให้คุณสร้างโหนดประเภทนี้และอัปโหลดไฟล์ PDF ของคุณ PDF ปรากฏอยู่ใน "ช่อง" ในหน้าเว็บ

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

ฉันพบว่าตัวเลือกการแสดงผลแต่ละข้อมีข้อดีและข้อเสีย:

  • Google Docs reader ทำงานได้ดีในรูปแบบฝัง แต่เมื่อฉันคลิกไปที่หน้าจอแบบเต็มหน้าจอฉันก็พบหน้า Google เอกสารซึ่งขอโทษว่าเกินขีด จำกัด อุ่ย บางทีนี่อาจจะน่าเชื่อถือมากขึ้นถ้าฉันติดตั้่งโมดูลกับบัญชี Google Apps ที่จ่ายเงิน แต่ฉันไม่ได้สนใจในการค้นหาเนื่องจากฉันแน่ใจว่าลูกค้าของฉันไม่ต้องการแสดงผล
  • pdf.js ทำงานได้อย่างเยี่ยมยอด … ใน Firefox และ Chrome แต่เมื่อฉันยิง Internet Explorer กล่องปรากฏว่างเปล่า เห็นได้ชัดว่านี่เป็นปัญหากับpdf.js ตัวเองไม่ใช่ เครื่องอ่าน PDF โมดูล. ฉันคิดว่าฉันควรจะได้คาดหวังนี้ให้ที่pdf.js ได้รับการพัฒนาโดย Mozilla และ Internet Explorer คือ … ตัวเอง ยังคงฉันรู้สึกผิดหวังที่ฉันไม่ได้คิดที่จะยืนยันว่าpdf.js ทำงานได้อย่างน่าเชื่อถือในทุกเบราว์เซอร์ตั้งแต่แรก
  • ฝัง เป็นตัวเลือกที่น่าเชื่อถือที่สุด นี้จริงวิ่ง Adobe Reader ในช่องบนหน้าเว็บ Firefox ของฉันยังคงต้องการใช้งานpdf.jsแต่ฉันคิดว่านี่เป็นการตั้งค่าเบราเซอร์ ทั้งสองวิธีตราบเท่าที่ผู้เข้าชมมี Firefox หรือโปรแกรมดู PDF เช่น Adobe Reader PDF จะแสดงขึ้น

ดังนั้นในที่สุดการแก้ปัญหาของฉันคือการใช้ เครื่องอ่าน PDF กับฝัง ตัวเลือกการแสดงผล ตัวเลือกนี้จะช่วยให้ฉันสามารถแนบ PDF กับโหนด Drupal และแสดงหน้าเว็บ Drupal ได้อย่างเชื่อถือได้

แต่น่าเสียดายที่บางครั้ง "เชื่อถือได้" ไม่เพียงพอ หลังจากการค้นหาทั้งหมดนี้ฉันต้องพิจารณาบริการของบุคคลที่สามหลังจากทั้งหมด