Saltar al contenido

Вибір модуля Drupal 7 для перегляду PDF-файлів

14 de mayo de 2021

Змістовий покажчик

Що знати

  • Визначте, що ви хочете – переглядати файли PDF у браузері, – але майте на увазі версію Drupal, будь-які ліцензійні збори та кількість користувачів.
  • На Drupal.org знайдіть сторінку порівняння модулів засобу перегляду PDF, а також плюси та мінуси кожного варіанту. Виберіть кілька можливих варіантів.
  • Оцініть кожен модуль перегляду PDF, щоб побачити, наскільки він відповідає вашим потребам.

У цій статті пояснюється, як вибрати модуль Drupal 7 для перегляду PDF-файлів. Він включає оцінку кількох потенційних модулів.

Визначте, що ви хочете

Уявіть, що клієнт просить вас додати нову функцію на сайт компанії Drupal: відображення PDF-файлів у браузері. Переглядаючи варіанти на drupal.org, ви усвідомлюєте, що є чимало варіантів для вибору. Першим кроком є ​​визначення того, що ви хочете. Загалом, це досить стандартні вимоги, яких ви очікуєте.

  • Можливість перегляду PDF-файлів у веб-браузері, подібно до цього прикладу. Клієнт завантажував PDF-файли інформаційного бюлетеня компанії, і відвідувачі могли їх легко читати.
  • Сайт є Drupal 7, тому модуль повинен відповідати цій основній версії. (Drupal 7 вийшов вже деякий час, тому, якщо розробник модулів ще не вийшов з версією Drupal 7, вони, ймовірно, не будуть.)
  • Можливо, ви також хочете уникати покладання на сторонні послуги. Що стосується відео, ви можете з радістю опублікувати вміст на YouTube або Vimeo, а потім вставити його на сайт Drupal, але для PDF-файлів ми не вважаємо, що можливий додатковий вплив перевершить потенційні клопоти, поломки та витрати.
  • Можливо, ви захочете зберегти модуль якомога легшим та конкретнішим. Можливо, ви шукаєте щось на зразок Colorbox, яке збільшує зображення для кращого перегляду, але залишається повністю незалежним від того, як ви вирішили керувати файлами зображень.
  • Як зазвичай, ми хочемо слідувати загальним рекомендаціям щодо вибору модуля Drupal. По суті, виберіть модуль, який вже використовувався кількома тисячами людей (якщо це можливо) протягом певного часу, з мінімумом залежностей, який, схоже, підтримується активним розробником, який планує продовжувати підтримувати проект і в майбутньому, а не не вимагає ліцензійного збору.

Пошук на Drupal.org

З огляду на ці цілі, наступним кроком став простий пошук на Drupal.org. Час стрибнути в кульову яму Модульної Доброти.

Сторінка «Порівняння» для модулів PDF

Моєю першою зупинкою була (або повинна була бути) ця сторінка: Порівняння модулів перегляду PDF. Drupal.org має чудові традиції створення сторінок документації, де викладаються плюси і мінуси різних модулів в одному просторі. Є центральний список сторінок порівняння, але вони також розпорошені по всьому сайту. Сторінка порівняння PDF включала чотири модулі перегляду PDF. Ми розглянемо їх тут, а також пару інших, які ми знайшли в результаті пошуку. Ми почнемо з кандидатів, яких ми вирішили пропустити. А тепер давайте заглибимося в особливості того, чому ці модулі працювали (або в основному не працювали) для цього проекту.

Google Viewer File Formatter

Google Viewer File Formatter – це те, як це звучить: спосіб використання Документів Google для вбудовування відображень файлів на вашу веб-сторінку. Хоча нам сподобалась універсальність Документів Google, однією з наших цілей було залишатися незалежним від будь-якої сторонньої служби. Крім того, цей модуль мав менше 100 встановлень.

Переглядач документів Ajax

Хоча «AJAX» є загальним терміном Javascript, Ajax Document Viewer, як виявилося, покладається на певну сторонній сервіс. Всього близько 100 встановлень. Жити далі…

Ошпарений PDF

Scald PDF мав лише 40 встановлень, але нам довелося поглянути, оскільки він явно був частиною великого проекту, який називається (так) Scald. Як пояснила сторінка проекту Scald: «Ошпарення – це інноваційний підхід до того, як поводитися з нею Атоми медіа у Друпалі «.

У цьому реченні було піднято два величезні червоні прапори: «новаторська думка» та слово «Медіа» в парі з «Atom». «Атом», очевидно, було переробленим словом «річ», що зробило його червоним прапором само собою. Drupal має схильність до таких слів із порожнім ящиком: вузол, сутність, особливість… Чим загальніше слово, тим більш масштабними можуть бути зміни. Ви прочитаєте схвильовані твердження про те, як Scald в основному винайде спосіб поводження з медіа на вашому сайті. Тепер правда полягає в тому, що обробка ЗМІ Drupal може використати певне винахід. Scald – не єдиний амбіційний проект у цьому просторі. Ошпарення може бути наступним видом. Це би рок. Але це може бути і програмне забезпечення, яке залишається плакати (малим) слідом зламаних сайтів.

Тіньова скринька

Shadowbox нас здивував: він заявив, що є єдиним рішенням для відображення всіх видів носіїв, від PDF-файлів до зображень та відео. Це було не настільки розмашисто, як Ошпарене, оскільки воно було зосереджено лише на відображення ЗМІ без введення цілих нових понять, таких як «Атоми ЗМІ». Але нам вже подобається Colorbox, як уже зазначалося. Однак ми зауважили (з внутрішнім стогоном), що з over 16000 інсталяції, Shadowbox може бути більш потужною альтернативою в тому ж просторі. Ми мали поглянути. Модуль Shadowbox Drupal в основному є мостом до бібліотеки Javascript, Shadowbox.js, тому ми перевірили веб-сайт бібліотеки. Там ми виявили дві причини рухатися далі:

  • Бібліотека вимагає ліцензійного збору за комерційне використання. Плата була досить розумною, але ми намагаємось уникати програмного забезпечення з відкритим кодом, яке не є безкоштовним.
  • Ретельний пошук поширених запитань виявив, що, на відміну від опису на сторінці модуля Drupal, PDF-файли є ні 100% підтримується бібліотекою Shadowbox. На жаль

Два претенденти: «PDF» та «PDF Reader»

Усунувши решту, ми тепер дійшли до двох очевидних претендентів: PDF та PDF Reader. Ці два проекти мали ключові подібності:

  • В обох було встановлено майже 3000 встановлень, набагато більше, ніж альтернативні варіанти (крім Shadowbox).
  • Обидва користувались однією зовнішньою бібліотекою Javascript, pdf.js.

А як щодо відмінностей?

PDF Reader також мала можливість інтеграції Документів Google. Тим часом, PDF було позначено як «Шукаю співучасників (ів)». Це може бути ознакою того, що розробник незабаром відмовиться від проекту, але з іншого боку, остання комісія була тиждень тому, тож принаймні розробник все ще був активним. З іншої сторони, PDF Reader було позначено як «Активно підтримується», але останнє комітування було рік тому. Не маючи явного переможця, ми вирішили протестувати їх обох.

Тестування претендентів

Ми протестували обидва модулі на копії нашого веб-сайту. (Яким би надійним і нешкідливим не був модуль, ніколи не пробуйте його спочатку на веб-сайті, що працює. Ви можете зламати весь свій сайт.) Ми були упереджені до PDF Reader оскільки, здавалося, у нього більше можливостей (таких як Google Docs), ніж PDF. Тому ми вирішили спробувати PDF по-перше, щоб уникнути цього.

Помилка PDF: Потрібна компіляція?

Однак, коли ми встановили PDF і прочитавши «README.txt», ми виявили проблему, яку ми бачили, але ігнорували на сторінці проекту. З якихось причин цей модуль, здається, вимагає компіляції pdf.js вручну. Незважаючи на те, що сторінка проекту передбачала, що це не обов’язково потрібно, README.txt припустив, що це потрібно. Оскільки PDF Reader користувався б точно такою ж бібліотекою, не вимагаючи цього кроку, ми вирішили спробувати це спершу. Якщо це не спрацьовувало, ми завжди могли повернутися до PDF і спробуйте вручну скомпілювати pdf.js.

PDF Reader: Успіху! Типу

Отже, нарешті, ми спробували PDF Reader. Цей модуль надає новий віджет для відображення файлу Файл поле. Ви додаєте поле файлу до бажаного типу вмісту та встановлюєте тип віджета на PDF Reader. Потім ви створюєте вузол цього типу та завантажуєте PDF. PDF-файл виглядає вбудованим у «вікно» на сторінці. Ви можете спробувати різні параметри відображення, повторно відредагувавши тип вмісту та змінивши параметри відображення для поля. Ми виявили, що кожен варіант відображення має плюси і мінуси:

  • Документи Google Читач чудово працював як вбудовування, але коли ми натиснули його, щоб перейти в повноекранний режим, ми потрапили на сторінку Документів Google, яка вибачилася за перевищення обмеження нашої ставки. На жаль Можливо, це було б більш надійно, якби ми підключили модуль до платіжного облікового запису Google Apps, але ми не потрудились це з’ясувати.
  • pdf.js Опція чудово працювала … у Firefox та Chrome. Але коли ми запустили Internet Explorer, поле виявилося порожнім. Очевидно, це проблема самого pdf.js, а не PDF Reader модуль. Ми вважаємо, що цього можна очікувати, враховуючи те, що pdf.js розроблений Mozilla, а Internet Explorer … сам. Тим не менш, розчаровує те, що ми не думали підтвердити, що pdf.js спочатку працював надійно у всіх браузерах.
  • вбудовувати варіант був найнадійнішим. Це насправді запустило Adobe Reader у вікні веб-сторінки. Firefox все ще вважав за краще запускати pdf.js, але ми вважаємо, що це було налаштування браузера. У будь-якому випадку, поки у відвідувача є Firefox або програма для перегляду PDF-файлів, таких як Adobe Reader, PDF відображатиметься.

Таким чином, врешті-решт, нашим рішенням є використання PDF Reader за допомогою Вбудувати параметр відображення. Цей параметр дозволить вам приєднати PDF до вузла Drupal і надійно відобразити його на веб-сторінці Drupal. На жаль, часом «надійного» недостатньо.