Skip to main content

PDF'leri görüntülemek için bir Drupal 7 Modülü Nasıl Seçilir

M13 (W13H) ????90 | smartwatch to cheat in exam ????‍????⚠️ .pdf ???? .docx ✏️???? (Mayıs Ayı 2024)

M13 (W13H) ????90 | smartwatch to cheat in exam ????‍????⚠️ .pdf ???? .docx ✏️???? (Mayıs Ayı 2024)
Anonim

Son zamanlarda bir müşteri firmanın Drupal sitesine yeni bir özellik eklememi istedi: tarayıcıda PDF dosyalarını görüntülemek. Drupal.org'daki seçeneklere göz attıkça, bunun yeni bir modül seçerken gerçek karar verme sürecimi belgelemek için mükemmel bir fırsat olduğunu anladım. Her zaman akıllıca modülleri seçmek için söylüyorum ama şimdi bunun gerçek hayatta nasıl çalıştığını görebilirsiniz.

Ne istediğini tanımla

İlk adım, ne istediğinizi tanımlamaktır. Benim durumumda istedim:

  • PDF dosyalarını bu örnekte olduğu gibi bir web tarayıcısında görüntüleme yeteneği. Müşteri, şirket bülteni PDF'lerini yükleyecek ve ziyaretçiler bunları kolayca okuyabileceklerdi.
  • Site Drupal 7'dir, bu yüzden modülün bu büyük versiyona uyması gerekecektir. (Drupal 7 şu an bir süredir çalışıyordu, bu yüzden bir modül geliştiricisi henüz bir Drupal 7 sürümü ile çıkmadıysa muhtemelen olmayacak.)
  • Müşteri bunu belirtmemiş olmasına rağmen, bir üçüncü taraf hizmetine güvenmekten de kaçınmak istedim. Videolar için, içeriği YouTube veya Vimeo'ya göndermekten ve ardından bir Drupal sitesine gömdüğümüz için mutluyum, ancak PDF'ler için olası ekstra pozlamanın potansiyel güçlük, kırılma ve masraftan daha ağır basacağını düşünmedim. Ancak, tek seçenek olsaydı üçüncü taraf bir hizmete açıktım.
  • Üçüncü taraf bir hizmetten kaçınmak istememe rağmen, seçimimin muhtemelen bir üçüncü taraf Javascript gerektireceğini biliyordum kütüphane . Bu, gelecekteki yükseltmelerde fazladan bir adım atsa da, bir üçüncü taraf hizmetine güvenmek yerine bir kütüphanenin kendi kopyasını çalıştırmayla ilgili genel olarak daha iyi hissediyorum.
  • Modülü mümkün olduğunca hafif ve özgül olarak tutmak istedim. Medya dosyalarını işlemek veya düzenlemek için kökten yeni bir yolla ilgilenmek istemedim. Daha iyi görüntüleme için görüntüleri büyüten Colorbox gibi bir şey daha istedim, ancak görüntü dosyalarını nasıl yöneteceğinizden tamamen bağımsız olarak kalır. Bu kütüphanenin pdf.js olacağını bir önsezim vardı, ama diğer olasılıklara açıkdım.
  • Her zamanki gibi bir Drupal modülünü seçmek için genel yönergeleri takip etmek istedim. Temel olarak, bir süredir birkaç bin kişi tarafından kullanılmakta olan bir modülü (eğer mümkünse), minimum bağımlılıkları olan, projeyi geleceğe taşımaya devam etmeyi planlayan aktif bir geliştirici tarafından sürdürülmüş gibi görünecek ve t lisans ücreti gerektirir.

Drupal.org'da ara

Bu hedefler göz önünde bulundurulduğunda, bir sonraki adım Drupal.org'da basit bir araştırmaydı. Modül İyiliği'nin Top Çukuruna atlama zamanı.

PDF Modülleri için "Karşılaştırma" Sayfası

İlk durağım (ya da olmalıydı), bu sayfa: PDF görüntüleyici modüllerinin karşılaştırması. Drupal.org, aynı alandaki çeşitli modüllerin artılarını ve eksilerini özetleyen mükemmel bir dokümantasyon sayfası geleneğine sahiptir. Karşılaştırma sayfalarının merkezi bir listesi vardır, ancak site genelinde de serpilir.

PDF karşılaştırma sayfası dört PDF görüntüleyici modülünü içeriyordu. Onları burada, yanı sıra aradıkları bulduğum birkaç kişiyi de kapsayacağım. Atlamaya karar verdiğim adaylarla başlayacağım.

Şimdi bu modüllerin neden bu proje için çalıştıkları (veya çoğunlukla yapmadıkları) ayrıntılarını inceleyelim.

Dosya Görüntüleyici

File Viewer, İnternet Arşivi bağımlısı olduğum için beni rahatsız eden Internet Archive BookReader'ı kullanıyor. Oraya her gittiğimde, eterden koparabileceğim kitapların dağlarında korku ve boğaz gıdıkları hissediyorum.

Bu söyleniyor, gösteri sitesi bana biraz çirkin görünüyordu. Bununla yaşayabilirim, ama müşterimden şüphe ettimpdf.js çok daha şık görünüyor.

Ayrıca, proje sayfasına ikinci bir bakışta, üstteki büyük cesur duyuruyu gördüm:Bu modül resmi olarak PDF modülüne taşındı. Yeterince adil. 400'den az yüklemeyle, daha popüler PDF modülüyle (bir anda kapsayacağımız) birleştirme, iyi bir hamle gibi görünüyor. Birleştirilmiş / taşınmış / terk edilmiş bir modülü asla indirmeyin.

Google Görüntüleyici Dosya Biçimlendiricisi

Google Görüntüleyici Dosya Biçimlendiricisi, aşağıdaki gibi ses çıkarır: Google Dokümanlarını web sayfanızdaki dosyaların görüntülerini gömmek için kullanmanın bir yolu. Google Dokümanlar'ın çok yönlülüğünü beğenmeme rağmen, hedeflerimden biri üçüncü taraf hizmetlerinden bağımsız kalmaktı.

Ayrıca, bu modül 100'den az yüklemeye sahipti.

Ajax Belge Görüntüleyici

"AJAX" genel bir Javascript terim olmasına rağmen, Ajax Belge Görüntüleyici belirli bir üçüncü taraf hizmetine güvenmek için dışarı çıktı. Sadece yaklaşık 100 yükleme. Hareketli…

Haşlanma PDF'si

Scald PDF'de sadece 40 yükleme vardı, ancak bir bakıma almam gerekti, çünkü (evet) Scald adında daha büyük bir projenin bir parçasıydı. Scald proje sayfası açıklandığı gibi: " Scald, nasıl ele alınacağı konusunda yenilikçi bir yaklaşımdır.Medya Atomları Drupal'da. "

Bu cümle iki büyük kırmızı bayrak çıkardı: "yenilikçi" ve "Atom" ile eşleştirilmiş "Medya" kelimesi. "Atom" açıkçası, "şey" için yeniden adlandırılmış bir sözcüktü; Drupal'ın bu boş kutulu kelimeler için bir tutkusu var: düğüm , varlık , özellik … Daha genel kelime, daha fazla süpürme değişiklikleri olabilir.

Aşağı kaydırdığımda şüphelerim onaylandı. Scald'ın medyayı sitemde nasıl ele aldığımı temel olarak nasıl icat edeceğine dair heyecanlı iddiaları okudum.

Şimdi, gerçek şu ki, Drupal'ın Medya yönetimi bir miktar yeniden keşfetmeyi kullanabiliyordu. Scald bu alandaki tek hırslı proje değil.Ancak, şu ana kadar 1000'den az kurulumla, zemin katına girmek istemedim.

Tabii, gelecek sene bu zamana kadar, Scald sonraki Görüşler olabilir. Bu sallanırdı. Ama aynı zamanda, terkedilmiş kırık sitelerden oluşan küçük bir iz ile terkedilmiş olabilir.

Şimdilik, daha az iddialı ve tehlikeli bir çözümle uğraşmak istedim. Sadece PDF'leri görüntüle lütfen. Bütün istediğim buydu.

Shadowbox

Shadowbox beni şaşırttı: PDF'den görüntülere ve videoya kadar her türlü medyayı görüntülemek için tek bir çözüm olduğunu iddia etti. Bu sadece Scald’in süpürmesi kadar değildi, çünkü sadece odaklanacağım sergileyen Medya "Medya Atomları" gibi tüm yeni kavramları tanıtmadan. Ama ben bahsettiğim gibi, Colorbox'ı çoktan beğendim. Bu kararı tekrar düşünmek istemedim.

Ancak, ben (bir iç inilti ile) ile üzerinde not aldım16,000 yükler, Shadowbox aynı alanda daha güçlü bir alternatif olabilir. ben vardı göz atmak.

Shadowbox Drupal modülü temel olarak bir Javascript kütüphanesi olan Shadowbox.js'ye bir köprüdür, dolayısıyla kütüphanenin web sitesini kontrol ettim. Orada, harekete geçmek için iki neden buldum:

  • Kütüphane, ticari kullanım için bir lisans ücreti gerektirir. Ücret yeterince makul, ama özgür olmayan açık kaynaklı yazılımlardan kaçınmaya çalışıyorum.
  • SSS'nin dikkatli bir araştırması, Drupal modülü sayfasındaki açıklamanın aksine, PDF'lerin değil Shadowbox kütüphanesi tarafından desteklenen% 100. Hata. İyi ki kontrol ettim.

İki Yarışmacı: "PDF" ve "PDF Reader"

Geri kalanını ortadan kaldırarak şimdi iki belirgin yarışmacının yanına geldim: PDF ve PDF Okuyucu

Bu iki projenin temel benzerlikleri vardı:

  • Her ikisi de yaklaşık 3.000 yüklemeye sahipti, alternatiflerden çok daha fazlası vardı (Shadowbox hariç).
  • Her ikisi de aynı harici Javascript kütüphanesini kullandı.pdf.js.

Farklılıklar ne olacak?

PDF Okuyucu Google Dokümanlar entegrasyonu seçeneği de vardı. Bu özel durumda, müvekkilimin bundan hoşlanabileceğini düşündüm, bu yüzden bu seçeneği tercih ettim.

O esnada, PDF olarak işaretlendiOrtak bakıcı (lar) aranıyor. Bu, geliştiricinin yakında projeyi terk edeceğinin bir işareti olabilir, ancak diğer yandan, en son işlem bir hafta önceydi, bu yüzden en azından geliştirici hala aktifti.

Diğer yandan, PDF Okuyucu olarak işaretlendiAktif olarak sürdürüldüama en son işlem bir yıl önceydi.

Açık bir kazanan olmadan, ikisini de test etmeye karar verdim.

Yarışmacıların Test Edilmesi

Her iki modülü de canlı sitemin bir kopyasında test ettim. (Bir modülün ne kadar sağlam ve zararsız olduğu fark etmez, asla canlı bir sitede asla denemeyin. Sitenizin tamamını kırabilirsiniz.)

Doğru önyargılıydım PDF Okuyucu , çünkü Google Dokümanlar gibi daha fazla seçeneğe sahip olduğu görülüyordu. PDF . Bu yüzden denemeye karar verdim PDF İlk olarak, yoldan çıkarmak için.

PDF Başarısız: Derleme Gerekli?

Ancak, yüklediğimde PDF ve OKUREADME.txtGördüğüm ama proje sayfasında görmezden geldiğim bir problem keşfettim. Nedense, bu modül derlemenizi gerektiriyor gibi görünüyorpdf.js manuel. Proje sayfası, bunun zorunlu olarak gerekli olmadığını öne sürse de,README.txt önerdi.

Dan beri PDF Okuyucu Aynı kitaplığı bu adımı gerektirmeden kullanacaktım, her şeyden önce denemeye karar verdim. Eğer işe yaramadıysa, her zaman geri dönebilirim PDF ve elle derlemeye çalışınpdf.js.

PDF Okuyucu: Başarı! Sırala.

Yani, en sonunda, denedim PDF Okuyucu . Bu modül, birDosya alan. İstediğiniz içerik türüne bir dosya alanı eklersiniz ve widget tipiniPDF Okuyucu. Ardından, bu türde bir düğüm oluşturur ve PDF'inizi yüklersiniz. PDF, sayfada "kutu" içine gömülü olarak görünür.

İçerik türünü tekrar düzenleyerek ve alanın ekran ayarlarını değiştirerek farklı görüntü seçeneklerini deneyebilirsiniz.

Her görüntü seçeneğinin artı ve eksileri olduğunu gördüm:

  • Google Dokümanlar okuyucu bir yerleştirme olarak iyi çalıştı, ancak tam ekrana gitmesini sağladığımda, hız sınırımın aşıldığından özür dileyen bir Google Dokümanlar sayfasına sarıldım. Hata. Modülü ödeme yapan bir Google Apps hesabına bağladım, ancak istemediğimden emin değilim, çünkü istemcimin ekranı beğenmediğinden eminim.
  • pdf.js Seçenek harika çalıştı … Firefox ve Chrome'da. Ancak Internet Explorer'ı kapattığımda kutu boş görünüyordu. Görünüşe göre, bu bir problempdf.js kendisi değil PDF Okuyucu modülü. Sanırım bunu beklemeliydim.pdf.js Mozilla tarafından geliştirilen ve Internet Explorer … kendisi. Yine de, bunu doğrulamayı düşünmediğim için hayal kırıklığına uğradım.pdf.js ilk etapta tüm tarayıcılarda güvenilir bir şekilde çalıştı.
  • Göm En güvenilir seçenek oldu. Bu aslında Adobe Reader'ı web sayfasındaki bir kutuda çalıştırdı. Firefox'um hala çalışmayı tercih ettipdf.jsama bence bu bir tarayıcı ayarıydı. Her iki şekilde de, bir ziyaretçi Firefox veya Adobe Reader gibi bir PDF görüntüleyiciye sahip olduğu sürece, PDF görüntülenir.

Sonuç olarak, çözümüm kullanmaktı. PDF Okuyucu ileGöm görüntüleme seçeneği Bu seçenek bir Drupal düğümüne bir PDF eklememi ve bir Drupal web sayfasında güvenilir bir şekilde görüntülememi sağlar.

Ne yazık ki, bazen "güvenilir" yeterli değildir. Bütün bu aramalardan sonra, bir üçüncü taraf hizmeti düşünmem gerekiyordu.