Skip to main content

Jak si vybrat modul Drupal 7 pro prohlížení souborů PDF

Por qué no me gusta PHP (Smět 2025)

Por qué no me gusta PHP (Smět 2025)
Anonim

V poslední době se mě klient zeptal, zda přidám na webovou stránku společnosti Drupal novou funkci: zobrazit soubory PDF v prohlížeči. Jak jsem prohlédl možnosti na drupal.org, uvědomil jsem si, že to byla dokonalá příležitost zdokumentovat můj skutečný rozhodovací proces, když jsem si vybral nový modul. Vždycky říkám, že si moudře vybírám moduly, ale nyní vidíte, jak to podle mého názoru funguje v reálném životě.

Definujte, co chcete

Prvním krokem je definovat, co chcete. V mém případě jsem chtěl:

  • Schopnost prohlížet soubory PDF ve webovém prohlížeči podobně jako v tomto příkladu. Klient by nahrál PDF z informačního bulletinu společnosti a návštěvníci by je mohli snadno číst.
  • Místo je Drupal 7, takže modul bude muset odpovídat této hlavní verzi. (Drupal 7 je na chvíli vynechán, takže pokud vývojář modulu ještě nepřišel s verzí Drupalu 7, pravděpodobně to nebude.)
  • Ačkoli klient tuto skutečnost neuvedl, chtěl jsem se také vyhnout tomu, abych spoléhal na službu třetí strany. U videí jsem rád, že zveřejním obsah na YouTube nebo Vimeo a poté jej vložím na web Drupal, ale pro soubory PDF jsem si nemyslel, že by případná další expozice převažovala nad potenciálními potížemi, rozbitím a výdaji. Byl jsem však otevřen třetí straně, kdyby to byla jediná možnost.
  • Navzdory mému přání se vyhnout službě třetí strany, věděl jsem, že moje volba pravděpodobně vyžaduje Javascript třetí strany knihovna . Přestože by to přineslo další krok k budoucím upgradem, obecně se cítím lepší než spouštět vlastní kopii knihovny, než abych se spoléhala na službu třetí strany.
  • Chtěl jsem modul udržet co nejméně a co nejpřesněji. Nechtěla jsem se zapojit do nějakého radikálně nového způsobu zpracování nebo uspořádání mediálních souborů. Chtěl jsem něco podobného Colorboxu, který zvětšuje obrazy pro lepší zobrazení, ale zůstává zcela nezávislé na tom, jak se rozhodnete spravovat obrazové soubory. Měl jsem tušení, že tato knihovna bude pdf.js, ale byla jsem otevřená i dalším možnostem.
  • Jako obvykle jsem chtěl dodržovat obecné pokyny pro výběr modulu Drupal. V podstatě vyberte modul, který již několik desítek lidí (pokud je to možné) používá, a to s minimem závislostí, které se zdá být udržovány aktivním vývojářem, který plánuje pokračovat v podpoře projektu do budoucnosti, požadovat licenční poplatek.

Vyhledávání na Drupal.org

S ohledem na tyto cíle byl dalším krokem jednoduché vyhledávání na Drupal.org. Je čas, aby seskočil do míčového modulu Dobroty modulu.

Stránka "Porovnání" pro moduly PDF

Moje první zastávka byla (nebo měla být) tato stránka: Srovnání modulů prohlížečů PDF. Drupal.org má vynikající tradici dokumentačních stránek, které načrtávají výhody a nevýhody různých modulů ve stejném prostoru. Existuje centrální seznam srovnávacích stránek, ale jsou také posypány po celém webu.

Stránka porovnání PDF obsahovala čtyři prohlížeče PDF. Zabalím je sem, stejně jako pár dalších, které jsem našel při hledání. Začnu s kandidáty, které jsem se rozhodl přeskočit.

Nyní se podívejme na specifika toho, proč tyto moduly pracovaly (nebo většinou nebyly) pro tento projekt.

Prohlížeč souborů

Prohlížeč souborů používá Internet Archive BookReader, který mě zaujal, protože jsem internetový archivář. Pokaždé, když jdu tam, cítím legraci strachu a přemáhám se v horách knih, které mohu vytáhnout z éteru.

To bylo řečeno, demonstrační místo vypadalo trochu ošklivě na mě. Mohl bych s tím žít, ale pochyboval jsem, že můj klient, kdypdf.js vypadá mnohem stylověji.

Také na druhém pohledu na stránku projektu jsem viděl velké odvážné oznámení na vrcholu:Tento modul byl formálně přesunut do modulu PDF. Docela fér. S méně než 400 instalacemi se slučování s populárnějším modulem PDF (které za chvíli pokryjeme) se jeví jako dobrý krok. Nikdy stáhněte modul, který byl sloučeny / přesunuty / opuštěny.

Formátovač souborů prohlížeče Google

Formátovač souborů Google Viewer je to, co zní: způsob, jak používat Dokumenty Google k vkládání souborů na vaší webové stránce. I když se mi líbila všestrannost Dokumentů Google, jedním z mých cílů bylo zůstat nezávislé na jakékoli službě třetí strany.

Také tento modul měl méně než 100 instalací.

Prohlížeč dokumentů Ajax

I když je "AJAX" obecným javascriptovým termínem, ukázalo se, že Ajax Document Viewer se spoléhá na konkrétní službu třetí strany. Pouze asi 100 instalací. Posouvat se…

Scald PDF

Scald PDF měl pouze 40 instalací, ale musel jsem se na to podívat, protože byl jasně součástí většího projektu nazvaného (Scald). Jak vysvětluje stránka projektu Scald: " Scald je inovativní způsob, jak zvládnoutMedia Atoms v Drupalu. "

Tato věta vyvolala dvě obrovské červené vlajky: "inovativní vzít" a slovo "Media" spároval s "Atom". "Atom" byl zjevně opakované slovo pro "věc", což z ní činilo červenou vlajku samo o sobě. Drupal má chuť těchto prázdných slov: uzel , subjektu , Vlastnosti … Obecnějším slovem je, že čím širší mohou být změny.

Jak jsem se posunula, mé podezření se potvrdilo. Četla jsem vzrušené nároky, jak Scald v podstatě vymyslí, jak jsem s Mediaem zpracoval mé stránky.

Nyní je pravda, že manipulace s médii Drupal by mohla využít nějaké nové objevy. Scald není jediným ambiciózním projektem v tomto prostoru.Nicméně s méně než 1000 instalacemi jsem se nechtěl dostat do přízemí.

Jistě, tentokrát v příštím roce by mohl být Scald další pohled. To by bylo rockové. Může to však být i opuštěné, s (malou) stopou zlomených míst, která nechá plakat.

Prozatím jsem se chtěl držet mnohem méně ambiciózního a nebezpečného řešení. Stačí zobrazit PDF, prosím. To je všechno, co jsem se ptala.

Shadowbox

Shadowbox mě překvapil: prohlásil, že je jediným řešením pro zobrazování všech druhů médií, od souborů PDF až po obrázky. Nebylo to tak zametné jako Scald, protože by se to jen soustředilo zobrazení bez zavedení zcela nových konceptů jako jsou "mediální atomy". Ale už se mi líbí Colorbox, jak jsem se zmínil. Nechtěla jsem, abych toto rozhodnutí přehodnotila.

Nicméně jsem si uvědomil (s vnitřním zasténáním), že s koncem16,000 instalace, Shadowbox může být silnější alternativou ve stejném prostoru. I měl podívat se.

Modul Shadowbox Drupal je v podstatě most k knihovně Javascript, Shadowbox.js, takže jsem si prohlédl webové stránky knihovny. Tam jsem objevil dva důvody, proč bych měl pokračovat:

  • Knihovna vyžaduje licenční poplatek pro komerční využití. Poplatek byl dost rozumný, ale snažím se vyhnout software s otevřeným zdrojovým kódem, který není volný.
  • Pečlivé prohledávání FAQ ukázalo, že na rozdíl od popisu na stránce modulu Drupal jsou soubory PDF ne 100% podporované knihovnou Shadowbox. Jejda. Dobrá věc, kterou jsem zkontrolovala.

Dva uchazeči: "PDF" a "PDF Reader"

Po odstranění zbytku jsem se nyní dostal ke dvěma zřejmým kandidátům: PDF a PDF Reader

Tyto dva projekty měly zásadní podobnosti:

  • Oba měli téměř 3000 instalací, mnohem víc než alternativy (kromě Shadowboxu).
  • Obě používaly stejnou externí knihovnu Javascript,pdf.js.

Co rozdíly?

PDF Reader také měla možnost integrace Dokumentů Google. V tomto konkrétním případě jsem si myslel, že se můj klient může líbit, takže se mi líbilo mít možnost.

Mezitím, PDF byl označen jakoHledání společného udržovatele. To by mohlo znamenat, že developer by brzy opustil projekt, ale na druhou stranu, nejnovějsí závazek byl před týdnem, takže alespoň vývojář byl stále aktivní.

Na druhou stranu, PDF Reader byl označen jakoAktivně udržována, ale nejnovější závazek byl před rokem.

Bez jasného vítěze jsem se rozhodl otestovat oba.

Testování soutěžících

Testoval jsem oba moduly na kopii svého živého webu. (Bez ohledu na to, jaký modul se objevuje jako solidní a neškodný, nikdy ho nejdříve nezkoušejte na živém webu. Mohli byste narušit celý svůj web.)

Byl jsem zaujatý směrem PDF Reader , protože se zdálo, že má více možností (například Dokumenty Google) než PDF . Tak jsem se rozhodl zkusit PDF za prvé, aby to z cesty.

Chyba PDF: Požadováno kompilace?

Nicméně, když jsem nainstaloval PDF a čístREADME.txt, Objevil jsem problém, který jsem viděl, ale ignoroval jsem na stránce projektu. Z nějakého důvodu se zdá, že tento modul vyžaduje kompilacipdf.js ručně. Ačkoli stránka projektu naznačila, že to není nutně nutné,README.txt navrhl to.

Od té doby PDF Reader použije přesně stejnou knihovnu, aniž by musel tento krok vyžadovat, rozhodl jsem se to nejdřív zkusit. Pokud to nefunguje, mohu se vždy vrátit PDF a zkuste ručně kompilovatpdf.js.

PDF Reader: Úspěch! Jaksi.

Takže konečně jsem se snažil PDF Reader . Tento modul poskytuje nový widget pro zobrazení aSoubor pole. Do požadovaného typu obsahu přidáte pole souboru a nastavíte typ widgetuPDF Reader. Poté vytvořte uzel tohoto typu a nahrajte soubor PDF. PDF se zobrazí v "krabici" na stránce.

Můžete vyzkoušet různé možnosti zobrazení tím, že znovu upravíte typ obsahu a změníte nastavení zobrazení pro toto pole.

Zjistil jsem, že každá možnost zobrazení měla pro a proti:

  • TheGoogle dokumenty čtenář fungoval jako embed, ale když jsem na něj kliknul, abych šel na celou obrazovku, ztratil jsem se na stránce Dokumenty Google, která se omlouvala za překročení mého limitu. Jejda. Možná by to bylo mnohem spolehlivější, kdybych modul zaplňoval na placený účet Google Apps, ale neobtěžoval jsem se to zjistit, protože jsem si byl jistý, že můj klient by se tomuto displeji nelíbil.
  • Thepdf.js možnost fungovala skvěle … ve Firefoxu a Chrome. Ale když jsem vypálil aplikaci Internet Explorer, pole se zdálo prázdné. Zřejmě je to problémpdf.js sám, ne PDF Reader modul. Předpokládám, že jsem to měl očekávat, vzhledem k tomupdf.js je vyvinut Mozilla a Internet Explorer je … sám. Přesto jsem byl zklamán, že jsem si nemyslel, že bych to potvrdilpdf.js spolehlivě pracoval ve všech prohlížečích.
  • Thevložit možnost byla nejspolehlivější. To vlastně spustilo aplikaci Adobe Reader v poli na webové stránce. My Firefox stále preferoval běhpdf.js, ale myslím, že toto bylo nastavení prohlížeče. Ať tak či onak, pokud návštěvník má prohlížeč Firefox nebo prohlížeč PDF, jako je Adobe Reader, zobrazí se PDF.

Tak, nakonec, mé řešení bylo použít PDF Reader sVložit možnost zobrazení. Tato možnost by mi umožnila připojit PDF do uzlu Drupal a spolehlivě ho zobrazit na webové stránce Drupalu.

Bohužel, někdy "spolehlivá" nestačí. Po tom všem hledání jsem musel koneckonců považovat službu třetí strany.