Skip to main content

Paano Pumili ng Drupal 7 Module para sa Pagtingin sa mga PDF

Our Miss Brooks: Convict / The Moving Van / The Butcher / Former Student Visits (Abril 2025)

Our Miss Brooks: Convict / The Moving Van / The Butcher / Former Student Visits (Abril 2025)
Anonim

Kamakailan, tinanong ako ng isang kliyente na magdagdag ng bagong tampok sa site ng Drupal ng kumpanya: magpakita ng mga PDF file sa browser. Habang binabasa ko ang mga opsyon sa drupal.org, natanto ko na ito ay isang perpektong pagkakataon na idokumento ang aking aktwal na proseso ng paggawa ng desisyon habang pinili ko ang isang bagong module. Laging sinasabi kong pumili ng mga modyul sa matalinong paraan, ngunit ngayon maaari mong makita kung paano sa tingin ko ito ay gumagana sa totoong buhay.

Tukuyin ang Nais Mo

Ang unang hakbang ay upang tukuyin kung ano ang gusto mo. Sa aking kalagayan, gusto ko:

  • Ang kakayahang tingnan ang mga PDF file sa isang web browser, katulad ng halimbawang ito. Ang kliyente ay mag-upload ng mga PDF ng newsletter ng kumpanya, at madali itong mabasa ng mga bisita.
  • Ang site ay Drupal 7, kaya ang module ay kailangang tumugma sa pangunahing bersyon. (Drupal 7 ay na-out para sa sandali ngayon, kaya kung ang isang module developer ay hindi lumabas sa isang Drupal 7 bersyon pa, malamang na sila ay hindi.)
  • Bagaman hindi tinukoy ito ng kliyente, gusto ko rin iwasan ang pag-asa sa isang serbisyo ng ikatlong partido. Para sa mga video, nalulugod akong mag-post ng nilalaman sa YouTube o Vimeo at pagkatapos ay i-embed ito sa isang site ng Drupal, ngunit para sa mga PDF, hindi ko iniisip na ang posibleng dagdag na pagkakalantad ay lalabas sa mga potensyal na problema, pagbasag, at gastos. Gayunpaman, ako ay bukas sa isang serbisyo ng third-party kung ito lamang ang pagpipilian.
  • Sa kabila ng aking nais na maiwasan ang isang serbisyo sa ikatlong partido, alam kong ang aking pinili ay maaaring mangailangan ng Javascript ng third-party library . Bagaman ito ay magdaragdag ng isang karagdagang hakbang sa mga pag-upgrade sa hinaharap, sa pangkalahatan ay nadarama kong mas mabuti ang pagpapatakbo ng aking sariling kopya ng isang aklatan sa halip na umasa sa isang serbisyo ng ikatlong partido.
  • Nais kong itago ang modyul na ito bilang magaan at tiyak na hangga't maaari. Hindi ko nais na makibahagi sa ilang mga radikal na bagong paraan ng paghawak o pag-aayos ng mga file ng media. Gusto ko ng isang bagay na mas katulad ng Colorbox, na nagpapalawak ng mga imahe para sa mas mahusay na pagtingin, ngunit nananatiling ganap na independiyenteng kung paano mo pinipili na pamahalaan ang mga file ng imahe. Nagkaroon ako ng hunch na ang library na ito ay pdf.js, ngunit bukas ako sa iba pang mga posibilidad.
  • Gaya ng dati, nais kong sundin ang pangkalahatang mga alituntunin para sa pagpili ng isang Drupal module. Talaga, pumili ng isang module na ginagamit na ng ilang libong mga tao (kung posible) para sa sandali, na may isang minimum na dependency, na tila pinananatili ng isang aktibong nag-develop na nagplano upang mapanatili ang pagsuporta sa proyekto sa hinaharap at hindi ' hindi nangangailangan ng bayad sa paglilisensya.

Maghanap sa Drupal.org

Sa mga layuning ito sa isip, ang susunod na hakbang ay isang simpleng paghahanap sa Drupal.org. Oras upang lumaktaw sa Ball Pit ng Module Kabutihan.

Paghahambing "Pahina para sa Mga Module ng PDF

Ang aking unang hinto ay (o dapat ay naging), ang pahinang ito: isang Paghahambing ng mga module ng modyul na PDF. Ang Drupal.org ay may mahusay na tradisyon ng mga pahina ng dokumentasyon na nagbabalangkas sa mga kalamangan at kahinaan ng iba't ibang mga modulo sa parehong espasyo. May isang gitnang listahan ng mga pahina ng paghahambing, ngunit din ito ay sinabog sa buong site.

Ang pahina ng paghahambing ng PDF ay kasama ang apat na mga module ng PDF viewer. Baluktot ko sila dito, pati na rin ang ilang iba pa na natagpuan ko sa paghahanap. Magsisimula ako sa mga kandidato na nagpasya kong laktawan.

Ngayon, hanaping mabuti ang mga detalye kung bakit ang mga modyul na ito (o halos hindi) ay nagtatrabaho para sa proyektong ito.

File Viewer

Ginagamit ng File Viewer ang Archive ng Internet BookReader, na nakakaintriga sa akin dahil ako ay isang Internet Archive junkie. Sa tuwing pupunta ako roon, nararamdaman ko ang mga pag-aalala ng takot at pagtaas sa mga bundok ng mga aklat na maaari kong makuha mula sa eter.

Iyon ay sinabi, ang demonstration site ay tumingin ng kaunti pangit sa akin. Maaaring mabuhay ako dito, ngunit nag-alinlangan ako sa aking kliyente, kailanpdf.js mukhang mas naka-istilong.

Gayundin, sa pangalawang pagtingin sa pahina ng proyekto, nakita ko ang malaking bold na patalastas sa itaas:Ang modyul na ito ay inilipat sa pormal na module ng PDF. Sapat na sapat. Na may mas mababa sa 400 na pag-install, pagsasama sa mas sikat na module ng PDF (na saklawin natin sa isang sandali), tila isang magandang paglipat. Huwag mag-download ng isang module na pinagsama / inilipat / inabandunang.

Format ng File ng Google Viewer

Ang Format ng Google Viewer File ay katulad nito: isang paraan upang magamit ang Google Docs upang ma-embed ang mga display ng mga file sa iyong web page. Kahit na nagustuhan ko ang kagalingan sa maraming bagay ng Google Docs, isa sa aking mga layunin ay upang manatili nang hiwalay sa anumang serbisyo ng third party.

Gayundin, ang module na ito ay may mas mababa sa 100 na pag-install.

Ajax Document Viewer

Kahit na ang "AJAX" ay isang pangkalahatang tuntunin ng Javascript, ang Ajax Document Viewer ay nakatuon sa isang partikular na serbisyo ng third party. Tanging mga 100 na pag-install. Paglipat sa …

Scald PDF

Ang Scald PDF ay may 40 lamang na pag-install, ngunit kailangan kong tingnan, dahil maliwanag na bahagi ito ng mas malaking proyektong tinatawag na (yes) Scald. Habang ipinaliwanag ang pahina ng proyekto ng Scald: " Ang scald ay isang makabagong pagsasagawa kung paano haharapinMedia Atoms sa Drupal. "

Ang pangungusap na iyon ay nagtataas ng dalawang malalaking pulang bandilang "makabagong" at ang salitang "Media" na ipares sa "Atom". Ang "Atom" ay maliwanag na isang salitang binabawi para sa "bagay", na ginawa ito ng isang pulang bandila ng lahat mismo. Si Drupal ay may isang malaking pagkakagusto para sa mga uri ng mga walang-kahon na mga salita: node , entity , tampok … Ang mas pangkalahatan ang salita, ang mas maraming pag-aayos ng mga pagbabago ay maaaring.

Habang nag-scroll ako pababa, ang aking mga hinala ay nakumpirma. Nabasa ko ang mga nasasabik na pag-angkin kung paano talaga i-reinagin ni Scald kung paano ko hinawakan ang Media sa aking site.

Ngayon, ang katotohanan ay ang paghawak ng Drupal Media ay maaaring gumamit ng ilang reinventing. Ang scald ay hindi lamang ang ambisyosong proyekto sa puwang na ito.Gayunpaman, na may mas mababa sa 1000 na pag-install sa ngayon, hindi ko nais na makapasok sa ground floor.

Oo naman, sa oras na ito sa susunod na taon, ang Scald ay maaaring ang mga susunod na Views. Iyon ay magiging bato. Ngunit maaari din itong abandonware, na may isang (maliit na) tugaygayan ng sirang mga site na natitira upang umiyak.

Sa ngayon, nais kong manatili sa isang mas mababa mapaghangad at mapanganib na solusyon. Ipakita lamang ang mga PDF, mangyaring. Iyon lang ang hinihiling ko.

Shadowbox

Nagulat ako sa Shadowbox: inaangkin ito na isang solong solusyon sa pagpapakita ng lahat ng uri ng media, mula sa mga PDF hanggang sa mga larawan sa video. Ito ay hindi bilang pag-aayos bilang Scald, dahil ito ay tumutuon lamang sa pagpapakita media na walang pagpapasok ng mga bagong konsepto tulad ng "Media Atoms". Ngunit gusto ko ang Colorbox, gaya ng nabanggit ko. Hindi ko nais na muling isipin ang desisyong iyon.

Gayunpaman, natanto ko (na may panloob na daing) na may higit16,000 install, Shadowbox ay maaaring maging isang mas malakas na alternatibo sa parehong espasyo. Ako nagkaroon para tingnan.

Ang Shadowbox Drupal module ay isa lamang tulay sa Javascript library, Shadowbox.js, kaya sinuri ko ang website ng library. Doon, natuklasan ko ang dalawang dahilan upang magpatuloy:

  • Ang library ay nangangailangan ng bayad sa lisensya para sa komersyal na paggamit. Ang bayad ay sapat na makatwiran, ngunit sinisikap kong maiwasan ang open-source software na hindi libre.
  • Ang isang maingat na paghahanap ng FAQ ay nagsiwalat na, salungat sa paglalarawan sa pahina ng Drupal module, ang mga PDF ay hindi 100% na suportado ng library ng Shadowbox. Oops. Good thing I checked.

Ang Dalawang Contender: "PDF" at "PDF Reader"

Ang pagkakaroon ng natanggal na ang natitira, ako ngayon ay dumating sa dalawang halata contenders: PDF at PDF Reader

Ang dalawang proyektong ito ay may mga mahahalagang pagkakatulad:

  • Parehong may halos 3,000 na pag-install, higit pa kaysa sa mga alternatibo (maliban sa Shadowbox).
  • Parehong ginamit ang parehong panlabas na Javascript library,pdf.js.

Kumusta naman ang mga pagkakaiba?

PDF Reader Mayroon ding pagpipilian para sa pagsasama ng Google Docs. Sa ganitong partikular na kaso, naisip ko ang gusto ng aking kliyente, kaya nagustuhan ko ang pagkakaroon ng opsyon.

Samantala, PDF ay minarkahan bilangPaghahanap ng mga co-maintainer (s). Iyon ay maaaring isang palatandaan na ang tagalikha ay malapit nang talikuran ang proyekto, ngunit sa kabilang banda, ang pinaka-kamakailang pangako noon ay isang linggo na ang nakalipas, kaya't ang aktor pa rin ang aktibo.

Sa kabilang kamay, PDF Reader ay minarkahan bilangAktibong pinananatili, ngunit ang pinakahuling gumawa ay isang taon na ang nakalipas.

Nang walang malinaw na nagwagi, napagpasyahan kong subukan silang kapwa.

Pagsubok sa mga Contenders

Sinubukan ko ang parehong mga module sa isang kopya ng aking live na site. (Hindi mahalaga kung gaano solid at hindi nakapipinsala ang isang module ay lilitaw, hindi kailanman subukan muna ito sa isang live na site. Maaari mong masira ang iyong buong site.)

Ako ay may biased patungo PDF Reader , dahil tila may higit pang mga pagpipilian (tulad ng Google Docs) kaysa PDF . Kaya nagpasiya akong subukan PDF una, upang makuha ito sa paraan.

PDF Nabigong: Kinakailangan ang Pagkompilation?

Gayunpaman, kapag naka-install ako PDF at basahinREADME.txt, Natuklasan ko ang isang problema na nakita ko ngunit hindi pinansin sa pahina ng proyekto. Para sa ilang kadahilanan, ang modyul na ito ay tila nangangailangan na mag-compile kapdf.js mano-mano. Kahit na iminungkahi ng pahina ng proyekto na hindi kinakailangan ito,README.txt iminungkahing ito ay.

Mula noon PDF Reader ay gagamitin ang eksaktong parehong library nang hindi nangangailangan ng hakbang na ito, napagpasyahan kong subukan muna ito. Kung hindi ito gumagana, maaari kong palaging bumalik sa PDF at subukan na manu-manong italapdf.js.

PDF Reader: Tagumpay! Medyo.

Kaya, sa wakas, sinubukan ko PDF Reader . Ang modyul na ito ay nagbibigay ng isang bagong widget para sa pagpapakita ng isangFile patlang. Nagdagdag ka ng field ng file sa iyong nais na uri ng nilalaman at itakda ang uri ng widgetPDF Reader. Pagkatapos, lumikha ka ng isang node ng ganitong uri at i-upload ang iyong PDF. Lumilitaw ang PDF na naka-embed sa isang "kahon" sa pahina.

Maaari mong subukan ang iba't ibang mga pagpipilian sa pagpapakita sa pamamagitan ng pag-edit muli ng uri ng nilalaman at pagbabago ng mga setting ng display para sa field.

Nakita ko na ang bawat opsyon sa pagpapakita ay may mga kalamangan at kahinaan:

  • AngGoogle Docs ang mambabasa ay nagtrabaho pagmultahin bilang isang embed, ngunit kapag ako ay nag-click ito upang pumunta full-screen, ako sugat sa isang Google Docs pahina na apologized na ang aking rate limit ay lumampas. Oops. Marahil ito ay magiging mas maaasahan kung baluktot ko ang modyul sa isang pagbabayad ng Google Apps account, ngunit hindi ako nag-abala upang malaman, dahil medyo sigurado ako na hindi gusto ng aking kliyente ang display.
  • Angpdf.js Ang opsyon ay nagtrabaho kamangha-mangha … sa Firefox at Chrome. Ngunit noong pinutol ko ang Internet Explorer, ang kahon ay lumitaw na walang laman. Tila, ito ay isang problema sapdf.js mismo, hindi ang PDF Reader module. Ipagpalagay ko na dapat ko inaasahan ito, ibinigay napdf.js ay binuo ng Mozilla at Internet Explorer ay … mismo. Gayunpaman, nabigo ako na hindi ko naisip na kumpirmahin iyonpdf.js Nagtrabaho nang mapagkakatiwalaan sa lahat ng mga browser sa unang lugar.
  • Angembed Ang pagpipilian ay ang pinaka maaasahan. Talagang pinatatakbo nito ang Adobe Reader sa isang kahon sa web page. Mas gusto pa rin ang aking Firefox na tumakbopdf.js, ngunit sa palagay ko ito ay isang setting ng browser. Alinmang paraan, hangga't ang isang bisita ay may alinman sa Firefox o isang PDF viewer tulad ng Adobe Reader, ang PDF ay ipapakita.

Kaya, sa huli, ang aking solusyon ay ang paggamit ng PDF Reader kasama angI-embed pagpipilian sa pagpapakita. Ang pagpipiliang ito ay magpapahintulot sa akin na maglakip ng isang PDF sa isang Drupal node, at mapagkakatiwalaan itong ipapakita sa isang pahina ng Drupal.

Sa kasamaang palad, kung minsan ang "maaasahan" ay hindi sapat. Pagkatapos ng lahat ng paghahanap na ito, kinailangan kong isaalang-alang ang isang serbisyo ng third party pagkatapos ng lahat.