Skip to main content

Jak wybrać moduł Drupal 7 do przeglądania plików PDF

Jak dobrać optymalne słowa kluczowe? MrOptim #3 (Czerwiec 2026)

Jak dobrać optymalne słowa kluczowe? MrOptim #3 (Czerwiec 2026)
Anonim

Ostatnio klient poprosił mnie o dodanie nowej funkcji do witryny Drupal firmy: wyświetlaj pliki PDF w przeglądarce. Przeglądając opcje na drupal.org, zdałem sobie sprawę, że była to doskonała okazja do udokumentowania mojego faktycznego procesu decyzyjnego, ponieważ wybrałem nowy moduł. Zawsze mówię, aby mądrze wybierać moduły, ale teraz możesz zobaczyć, jak myślę, że to działa w prawdziwym życiu.

Określ, czego chcesz

Pierwszym krokiem jest zdefiniowanie, czego chcesz. W moim przypadku chciałem:

  • Możliwość przeglądania plików PDF w przeglądarce internetowej, podobnie jak w tym przykładzie. Klient będzie wysyłać pliki PDF z biuletynu firmy, a odwiedzający będą mogli je łatwo odczytać.
  • Witryna jest Drupal 7, więc moduł musiałby dopasować tę główną wersję. (Drupal 7 jest już od jakiegoś czasu niedostępny, więc jeśli deweloper modułów nie ma jeszcze wersji Drupala 7, prawdopodobnie tego nie zrobi.)
  • Chociaż klient tego nie sprecyzował, chciałem także uniknąć korzystania z usługi innej firmy. Jeśli chodzi o filmy, z przyjemnością publikuję materiały na YouTube lub Vimeo, a następnie umieszczam je na stronie Drupal, ale w przypadku plików PDF nie sądziłem, że ewentualna dodatkowa ekspozycja przeważy potencjalne problemy, pęknięcia i koszty. Byłem jednak otwarty na usługę innej firmy, jeśli była to jedyna opcja.
  • Pomimo chęci uniknięcia usługi innej firmy, wiedziałem, że mój wybór prawdopodobnie wymagałby JavaScript strony trzeciej biblioteka . Chociaż stanowiłoby to dodatkowy krok w przyszłych aktualizacjach, ogólnie czuję się lepiej, jeśli chodzi o uruchamianie mojej własnej kopii biblioteki, niż poleganie na usługach innych firm.
  • Chciałem, aby moduł był lekki i konkretny, jak to tylko możliwe. Nie chciałem angażować się w radykalnie nowy sposób obsługi lub organizowania plików multimedialnych. Chciałem czegoś bardziej podobnego do Colorbox, które powiększa obrazy, aby lepiej oglądać, ale pozostaje całkowicie niezależne od tego, w jaki sposób zarządzasz plikami obrazów. Miałem przeczucie, że ta biblioteka to pdf.js, ale byłem otwarty na inne możliwości.
  • Jak zwykle, chciałem postępować zgodnie z ogólnymi wytycznymi dotyczącymi wyboru modułu Drupala. Zasadniczo wybierz moduł, który był już używany przez kilka tysięcy osób (jeśli to możliwe) przez jakiś czas, przy minimalnych zależnościach, który wydaje się być utrzymywany przez aktywnego programistę, który planuje kontynuować wspieranie projektu w przyszłości i nie robi tego ". t wymagać opłaty licencyjnej.

Szukaj w Drupal.org

Mając na uwadze te cele, kolejnym krokiem było proste przeszukanie Drupal.org. Czas wskoczyć do Ball Pit of Module Goodness.

Strona "Porównanie" dla modułów PDF

Mój pierwszy przystanek był (lub powinienem był) tą stroną: Porównanie modułów przeglądarki PDF. Drupal.org ma doskonałą tradycję dokumentacji stron, które przedstawiają zalety i wady różnych modułów w tej samej przestrzeni. Istnieje centralna lista stron porównawczych, ale są one również posypane po całej witrynie.

Strona porównująca PDF zawierała cztery moduły przeglądarki PDF. Omówię je tutaj, a także parę innych, które znalazłem od przeszukiwania. Zacznę od kandydatów, których postanowiłem pominąć.

Teraz zagłębimy się w szczegóły, dlaczego moduły te (lub w większości przypadków nie działały) w tym projekcie.

Przeglądarka plików

Przeglądarka plików używa Internet Archive BookReader, który zaintrygował mnie, ponieważ jestem maniakiem Internet Archive. Za każdym razem, gdy tam idę, czuję łaskotanie strachu i przytłaczanie górami książek, które mogę zerwać z eteru.

To powiedziawszy, strona demonstracyjna wyglądała dla mnie trochę brzydko. Mogę z tym żyć, ale wątpiłem, czy mój klient tak zrobipdf.js wygląda o wiele bardziej stylowo.

Również na drugim spojrzeniu na stronę projektu zobaczyłem duże odważne ogłoszenie na górze:Ten moduł został formalnie przeniesiony do modułu PDF. Słusznie. Z mniej niż 400 instalacjami, połączenie z bardziej popularnym modułem PDF (który omówimy za chwilę) wydaje się dobrym posunięciem. Nigdy nie pobieraj modułu, który został scalony / przeniesiony / porzucony.

Google Viewer Formater plików

Narzędzie do formatowania plików Google Viewer brzmi: sposób korzystania z Dokumentów Google do osadzania wyświetlanych plików na Twojej stronie internetowej. Chociaż spodobała mi się wszechstronność Dokumentów Google, jednym z moich celów było utrzymanie niezależności od usług zewnętrznych.

Ponadto ten moduł miał mniej niż 100 instalacji.

Przeglądarka dokumentów Ajax

Chociaż "AJAX" jest ogólnym terminem JavaScript, Ajax Document Viewer okazał się polegać na określonej usłudze strony trzeciej. Tylko około 100 instalacji. Iść dalej…

Zapomnij PDF

Scald PDF miał tylko 40 instalacji, ale musiałem się przyjrzeć, ponieważ był on wyraźnie częścią większego projektu o nazwie (tak) Scald. Jak wyjaśniła strona projektu Scald: " Scald to innowacyjne podejście do obsługiMedia Atomy w Drupalu. "

W zdaniu tym pojawiły się dwie wielkie czerwone flagi: "nowatorski" i słowo "Media" w połączeniu z "Atomem". "Atom" był oczywiście zmienionym słowem na "rzecz", co samo w sobie oznaczało czerwoną flagę. Drupal ma skłonność do takich pustych słów: węzeł , jednostka , cecha … Im bardziej ogólne słowo, tym większe mogą być zmiany.

Gdy przewinąłem w dół, moje podejrzenia zostały potwierdzone. Czytałem podekscytowane stwierdzenia, w jaki sposób Scald mógłby na nowo odkryć, w jaki sposób mam do czynienia z mediami w mojej witrynie.

Prawda jest taka, że ​​obsługa Drupala w mediach może wykorzystywać pewne zmiany na nowo. Scald nie jest jedynym ambitnym projektem w tej przestrzeni.Jednak z mniej niż 1000 instalacji do tej pory nie chciałem wejść na parter.

Jasne, do tego czasu w przyszłym roku Scald może być kolejnym Widokiem. To by wstrząsnęło. Ale może to być również abandonware, z (niewielką) ścieżką uszkodzonych stron pozostawionych do łez.

Na razie chciałem pozostać przy znacznie mniej ambitnym i niebezpiecznym rozwiązaniu. Po prostu wyświetlaj pliki PDF. To wszystko, o co prosiłem.

Shadowbox

Shadowbox mnie zaskoczył: twierdził, że jest to jedyne rozwiązanie do wyświetlania wszelkiego rodzaju multimediów, od plików PDF do obrazów i wideo. To nie było tak wielkie jak Scald, ponieważ skupiało się tylko na nim wyświetlanie media bez wprowadzania zupełnie nowych pojęć, takich jak "Media Atomy". Ale jak już wspomniałem, już lubię Colorbox. Nie chciałem ponownie zastanawiać się nad tą decyzją.

Jednak zauważyłem (z wewnętrznym jękiem), że z ponad16,000 instaluje, Shadowbox może być potężniejszą alternatywą w tej samej przestrzeni. ja miał spojrzeć.

Moduł Shadowbox Drupal jest w zasadzie pomostem do biblioteki JavaScript, Shadowbox.js, więc sprawdziłem stronę biblioteki. Tam odkryłem dwa powody, dla których warto iść dalej:

  • Biblioteka wymaga opłaty licencyjnej do użytku komercyjnego. Opłata była rozsądna, ale staram się unikać oprogramowania open source, które nie jest darmowe.
  • Dokładne przeszukanie FAQ wykazało, że w przeciwieństwie do opisu na stronie modułu Drupal, pliki PDF są nie 100% obsługiwane przez bibliotekę Shadowbox. Ups. Dobrze, że sprawdziłem.

The Two Contenders: "PDF" i "Czytnik PDF"

Po wyeliminowaniu reszty, przyszedłem do dwóch oczywistych rywali: PDF i PDF Reader

Te dwa projekty miały kluczowe podobieństwa:

  • Oba miały prawie 3000 instalacji, znacznie więcej niż alternatywy (z wyjątkiem Shadowbox).
  • Obie wykorzystały tę samą zewnętrzną bibliotekę JavaScript,pdf.js.

A co z różnicami?

Czytnik PDF miał również opcję integracji Dokumentów Google. W tym konkretnym przypadku, myślałem, że mojemu klientowi może się to spodobać, więc spodobała mi się opcja.

W międzyczasie, PDF został oznaczony jakoSzukanie współopiekującego (-ych). Może to oznaczać, że deweloper wkrótce porzuci projekt, ale z drugiej strony ostatnie zatwierdzenie miało miejsce tydzień temu, więc przynajmniej programista był nadal aktywny.

Z drugiej strony, Czytnik PDF został oznaczony jakoAktywnie utrzymany, ale ostatnie zatwierdzenie miało miejsce rok temu.

Bez wyraźnego zwycięzcy zdecydowałem się przetestować oba.

Testowanie uczestników

Przetestowałem oba moduły na kopii mojej witryny na żywo. (Bez względu na to, jak solidny i nieszkodliwy jest moduł, nigdy nie próbuj go najpierw na żywej stronie.) Możesz złamać całą witrynę.)

Byłem stronniczy w stosunku do Czytnik PDF , ponieważ wydawało się, że ma więcej opcji (takich jak Dokumenty Google) niż PDF . Więc postanowiłem spróbować PDF po pierwsze, aby usunąć go z drogi.

PDF Fail: Kompilacja jest wymagana?

Jednak po zainstalowaniu PDF i czytaćREADME.txt, Odkryłem problem, który widziałem, ale zostałem zignorowany na stronie projektu. Z jakiegoś powodu ten moduł wydaje się wymagać kompilacjipdf.js ręcznie. Chociaż strona projektu sugerowała, że ​​nie jest to konieczne,README.txt zasugerował, że tak.

Od Czytnik PDF użyłbym tej samej biblioteki, nie wymagając tego kroku. Postanowiłem jednak najpierw ją wypróbować. Jeśli to nie zadziała, zawsze będę mógł wrócić PDF i spróbuj ręcznie skompilowaćpdf.js.

PDF Reader: sukces! Raczej.

W końcu spróbowałem Czytnik PDF . Ten moduł udostępnia nowy widget do wyświetlania znakuPlik pole. Dodajesz pole pliku do żądanego typu zawartości i ustawiasz typ widżetu naCzytnik PDF. Następnie należy utworzyć węzeł tego typu i załadować plik PDF. Plik PDF pojawia się w "polu" na stronie.

Możesz wypróbować różne opcje wyświetlania, ponownie edytując typ zawartości i zmieniając ustawienia wyświetlania dla pola.

Zauważyłem, że każda opcja wyświetlania ma zalety i wady:

  • TheDokumenty Google Czytnik działał dobrze jako osadzony, ale kiedy kliknąłem go, by przejść na pełny ekran, wylądowałem na stronie Dokumentów Google, która przeprosiła, że ​​mój limit stawki został przekroczony. Ups. Być może byłoby to bardziej wiarygodne, gdybym podłączył moduł do płatnego konta Google Apps, ale nie zadałem sobie trudu, aby się tego dowiedzieć, ponieważ byłem pewien, że mój klient nie spodoba się wyświetlaczowi.
  • Thepdf.js opcja działała cudownie … na Firefoxie i Chrome. Ale kiedy uruchomiłem Internet Explorera, okno okazało się puste. Najwyraźniej jest to problem zpdf.js się, a nie Czytnik PDF moduł. Przypuszczam, że powinienem był się tego spodziewać, biorąc pod uwagę topdf.js jest rozwijany przez Mozillę, a Internet Explorer to … sam. Mimo to byłem rozczarowany, że nie myślałem, aby to potwierdzićpdf.js niezawodnie działała we wszystkich przeglądarkach.
  • Theosadzać opcja była najbardziej niezawodna. To faktycznie uruchomił Adobe Reader w polu na stronie internetowej. Mój Firefox nadal wolał biecpdf.js, ale myślę, że to było ustawienie przeglądarki. Tak czy inaczej, tak długo, jak użytkownik ma przeglądarkę Firefox lub przeglądarkę PDF taką jak Adobe Reader, plik PDF będzie wyświetlany.

Tak więc ostatecznie moim rozwiązaniem było użycie Czytnik PDF zOsadzać opcja wyświetlania. Ta opcja pozwoli mi dołączyć PDF do węzła Drupal i niezawodnie wyświetlić go na stronie internetowej Drupal.

Niestety czasami "niezawodny" to za mało. Po tych wszystkich poszukiwaniach musiałem w końcu wziąć pod uwagę usługę innej firmy.