Sådan vælges et Drupal 7-modul til visning af PDF-filer

Hvad man skal vide

  • Definer hvad du vil - for at se PDF-filer i en browser - men husk Drupal-versionen, eventuelle licensgebyrer og antallet af brugere.
  • Søg efter Drupal.org Sammenligning af PDF-visningsmoduler side med fordele og ulemper for hver mulighed. Vælg et par sandsynlige valg.
  • Evaluer hvert PDF-fremvisningsmodul for at se, hvor godt det opfylder dine behov.

Denne artikel forklarer, hvordan man vælger et Drupal 7-modul til visning af PDF-filer. Det inkluderer en evaluering af flere potentielle moduler.

Definer hvad du vil have

Forestil dig, at en klient beder dig om at tilføje en ny funktion til virksomhedens Drupal-side: Visning af PDF-filer i browseren. Når du gennemse indstillingerne på drupal.org, indser du, at der er en hel del muligheder for dig at vælge imellem.

Det første trin er at definere, hvad du vil have. Generelt er dette ret standardkrav, som du forventer.

  • Evnen til at se PDF-filer i en webbrowser, der ligner dette eksempel. Klienten ville uploade PDF-filer af firmaets nyhedsbrev, og besøgende kunne let læse dem.
  • instagram viewer
  • Webstedet er Drupal 7, så modulet skal matche det større version. (Drupal 7 har været ude i et stykke tid nu, så hvis en moduludvikler ikke er kommet ud med en Drupal 7-version endnu, vil de sandsynligvis ikke.)
  • Det kan også være en god idé at undgå at stole på en tredjepartstjeneste. Til videoer kan du være glad for at sende indholdet til YouTube eller Vimeo og derefter integrere det på et Drupal-websted, men for PDF-filer, tror vi ikke, at den mulige ekstra eksponering opvejer det potentielle besvær, brud og bekostning.
  • Du vil sandsynligvis holde modulet så let og specifikt som muligt. Du leder måske efter noget mere Colorbox, som forstørrer billederne for bedre visning, men forbliver helt uafhængig af, hvordan du vælger at administrere billedfilerne.
  • Som normalt vil vi følge de generelle retningslinjer for valg af et Drupal-modul. Grundlæggende skal du vælge et modul, der allerede har været i brug af et par tusinde mennesker (hvis det er muligt) i et stykke tid med et minimum af afhængigheder, der synes at blive vedligeholdt af en aktiv udvikler, der planlægger at fortsætte med at støtte projektet i fremtiden og ikke kræver licens betaling.

Søg på Drupal.org

Med disse mål i tankerne var det næste trin a simpel søgning på Drupal.org. Tid til at springe ind i kuglegruben af ​​modulgodhed.

'Sammenligning'-side til PDF-moduler

Mit første stop var (eller burde have været), denne side: a Sammenligning af PDF-visningsmoduler. Drupal.org har en fremragende tradition for dokumentationssider, der skitserer fordele og ulemper ved forskellige moduler i samme rum. Der er en central liste over sammenligningssider, men de drysses også over hele webstedet.

PDF-sammenligningssiden omfattede fire PDF-visningsmoduler. Vi dækker dem her såvel som et par andre, vi fandt ved søgning. Vi starter med de kandidater, som vi besluttede at springe over.

Lad os nu gå i dybden med, hvorfor disse moduler fungerede (eller for det meste ikke) for dette projekt.

Drupal logo

Google Viewer-filformatering

Google Viewer-filformatering er, hvordan det lyder: en måde at bruge Google Docs til at integrere visning af filer på din webside. Selvom vi kunne lide alsidigheden i Google Docs, var et af vores mål at forblive uafhængig af enhver tredjepartstjeneste.

Dette modul havde også mindre end 100 installationer.

Ajax Document Viewer

Selvom "AJAX" er et generelt Javascript-udtryk, Ajax Document Viewer viste sig at stole på en bestemt tredjepartstjeneste. Kun ca. 100 installationer. Komme videre...

Skold PDF

Skold PDF havde kun 40 installationer, men vi måtte se på, da det helt klart var en del af et større projekt kaldet (ja) Skolde. Som Scald-projektsiden forklarede: "Scald er en innovativ måde at håndtere Medieatomer i Drupal. "

Denne sætning rejste to kæmpe røde flag: "innovative tag" og ordet "Media" parret med "Atom". "Atom" var tydeligvis et genbrugt ord for "ting", hvilket gjorde det til et rødt flag i sig selv. Drupal har en forkærlighed for disse ord med tomme kasser: knude, enhed, funktion... Jo mere generelt ordet er, jo mere fejede kan ændringerne være.

Du læser spændte påstande om, hvordan Scald dybest set vil genopfinde, hvordan du håndterer medier på dit websted.

Sandheden er nu, at Drupals mediehåndtering kunne bruge noget genopfinding. Scald er ikke det eneste ambitiøse projekt i dette rum.

Scald kan være den næste Visninger. Det ville rocke. Men det kan også være abandonware med et (lille) spor af ødelagte steder, der er tilbage til at græde.

Shadowbox

Shadowbox overraskede os: det hævdede at være en enkelt løsning til visning af alle slags medier, fra PDF-filer til billeder til video. Dette var ikke så fejende som Scald, da det kun ville fokusere på vises medier uden at introducere helt nye koncepter som "Media Atoms". Men vi kan allerede lide Colorbox, som nævnt.

Vi bemærkede dog (med et indre stønn) det med over 16,000 installerer, kan Shadowbox være et mere kraftfuldt alternativ i samme rum. Vi havde at kigge.

Shadowbox Drupal-modulet er dybest set en bro til et Javascript-bibliotek, Shadowbox.js, så vi tjekkede bibliotekets hjemmeside ud. Der opdagede vi to grunde til at komme videre:

  • Biblioteket kræver et licensgebyr til kommerciel brug. Gebyret var rimeligt nok, men vi forsøger at undgå open source-software, der ikke er gratis.
  • En omhyggelig søgning i FAQ viste, at i modsætning til beskrivelsen på Drupal-modulets side er PDF-filer ikke 100% understøttet af Shadowbox-biblioteket. Ups.

De to deltagere: 'PDF' og 'PDF-læser'

Efter at have fjernet resten kom vi nu til de to åbenlyse kandidater: PDF og PDF-læser

Disse to projekter havde vigtige ligheder:

  • Begge havde næsten 3.000 installationer, langt mere end alternativerne (undtagen Shadowbox).
  • Begge brugte det samme eksterne Javascript-bibliotek, pdf.js.

Hvad med forskelle?

PDF-læser havde også mulighed for Google Docs-integration.

I mellemtiden PDF blev markeret som "Søger medunderholdning (er)." Det kunne være et tegn på, at udvikleren snart ville opgive projekt, men på den anden side var den seneste forpligtelse for en uge siden, så i det mindste var udvikleren stadig aktiv.

På den anden side, PDF-læser blev markeret som "Aktivt vedligeholdt", men den seneste forpligtelse var for et år siden.

Uden en klar vinder besluttede vi at teste dem begge.

Test af deltagere

Vi testede begge moduler på en kopi af vores live site. (Uanset hvor solidt og uskadeligt et modul vises, skal du aldrig prøve det først på et live site. Du kan bryde hele dit websted.)

Vi var partisk mod PDF-læser fordi det syntes at have flere muligheder (såsom Google Docs) end PDF. Så vi besluttede at prøve PDF først for at få det af vejen.

PDF mislykkedes: Kompilering påkrævet?

Men når vi installerede PDF og læs "README.txt", opdagede vi et problem, som vi havde set, men ignoreret på projektsiden. Af en eller anden grund synes dette modul at kræve, at du kompilerer pdf.js manuelt. Selvom projektsiden foreslog, at dette ikke nødvendigvis var påkrævet, foreslog README.txt, at det var det.

Siden PDF-læser bruger det nøjagtige samme bibliotek uden at kræve dette trin, besluttede vi trods alt først at prøve det. Hvis det ikke fungerede, kunne vi altid gå tilbage til PDF og prøv at manuelt kompilere pdf.js.

PDF-læser: Succes! På en måde

Så endelig prøvede vi PDF-læser. Dette modul giver en ny widget til visning af en Fil Mark. Du tilføjer et filfelt til det ønskede indholdstype og indstil widget-typen til PDF-læser. Derefter opretter du en node af denne type og uploader din PDF. PDF-filen vises integreret i et "felt" på siden.

Du kan prøve forskellige visningsmuligheder ved at redigere indholdstypen igen og ændre skærmindstillingerne for feltet.

Vi fandt ud af, at hver skærmindstilling havde fordele og ulemper:

  • Det Google Docs læser fungerede fint som en indlejring, men da vi klikkede på den for at gå i fuld skærm, afviklede vi på en Google Docs-side, der undskyldte, at vores satsgrænse var overskredet. Ups. Måske ville dette være mere pålideligt, hvis vi tilsluttede modulet til en betalende Google Apps-konto, men vi gider ikke finde ud af det.
  • Det pdf.js mulighed fungerede vidunderligt... på Firefox og Chrome. Men da vi fyrede Internet Explorer op, syntes boksen tom. Tilsyneladende er dette et problem med pdf.js i sig selv, ikke PDF-læser modul. Vi formoder, at det kan forventes, i betragtning af at pdf.js er udviklet af Mozilla, og Internet Explorer er... sig selv. Alligevel er det skuffende, at vi ikke havde tænkt på at bekræfte, at pdf.js fungerede pålideligt i alle browsere i første omgang.
  • Det indlejre mulighed var den mest pålidelige. Dette kørte faktisk Adobe Reader i en boks på websiden. Firefox foretrak stadig at køre pdf.js, men vi tror, ​​det var en browserindstilling. Uanset hvad, så længe en besøgende havde enten Firefox eller en PDF-fremviser som Adobe Reader, ville PDF'en blive vist.

Så i sidste ende er vores løsning at bruge PDF-læser med Indlejre visningsmulighed. Denne mulighed giver dig mulighed for at vedhæfte en PDF til en Drupal-node og pålideligt vise den på en Drupal-webside.

Desværre er nogle gange "pålidelig" ikke nok.