Linux E X P R E S

Facebook

PDF prohlížeče v Linuxu

PDF je populární formát určený pro výměnu dokumentů. Jeho název je zkratkou Portable Document Format - Formát přenositelných dokumentů a přesně vystihuje podstatu věci. Dokumenty v tomto formátu mají všude a vždy naprosto stejný vzhled, který je nezávislý na platformě i na výstupním zařízení.


Formát PDF je založen na starším Postscriptu, což je specifický, zásobníkově orientovaný, tiskový jazyk. PDF částečně vznikl zjednodušením svého předchůdce, což zase zrychlilo jeho zpracování. Také se jedná o již přeložený, binární tvar (na rozdíl od textového Postscriptu), obsahuje podporu pro vložené obrázky či fonty, hypertextové odkazy v dokumentu, novější verze také průhlednost obrázků, formuláře a poznámky.

Tvůrce tohoto formátu, společnost Adobe, vytváří prohlížeč zvaný Adobe Reader (pozor, starší verze byly známy pod názvem Acrobat Reader, to už neplatí), který je k dispozici pro mnoho platforem, včetně různých verzí Unixu, Linux nevyjímaje. A co víc, Adobe dokonce uvolnila specifikaci tohoto formátu, takže kdokoliv může vytvořit vlastní prohlížeč. Takže se v unixovém světě můžeme setkat s několika prohlížecími programy. Jsou to potomci programu xpdf - Evince, knihovna poppler a KPDF a potom gv, používající Ghostscript. Pro mě byla překvapením preview verze Foxit Readeru pro Linux, proto jsem ho také otestoval.

Ghostscript je softwarový interpretr jazyka Postscript i PDF. Protože levnější tiskárny nemají jeho interpretr zabudovaný, používá se jeho výstup pro samotný tisk PS i PDF souborů (především na Linuxu). Dalším využitím je prohlížení PS a PDF souborů, které ovšem trpí skutečností, že samotný interpretr převede dokument na obrázky. To znamená, že v něm není možné vyhledávat, není možné z něj kopírovat text a podobně. Vyskytuje se v mnoha verzích jako APFL Ghostscript, GNU Ghostcript a ESP Ghostcript, který spolupracuje s tiskovým systémem CUPS.

Pro testování schopností prohlížečů jsem si vybral několik dokumentů, některé veřejně dostupné, některé nikoliv. Prvním je ukázkové číslo tohoto časopisu z února roku 2006, ten je určen především pro obrázky v článku. Druhým je reklama na Mozilla Firefox z New York Times, což je velmi náročný dokument, který prověří schopnosti všech prohlížečů. Třetím je formulář z České správy sociálního zabezpečení a má za úkol ověřit podporu pro PDF formuláře. Čtvrtým a jediným neveřejným dokumentem je moje semestrální práce, která obsahuje mnoho hypertextových odkazů, jejichž podpora také není úplně běžná. A nakonec poslední je hlavní stránka linuxexpres.cz, kterou jsem převedl na PDF pomocí služby createpdf.adobe.com. Na těchto dokumentech vyzkouším podporu pokročilých vlastností formátu PDF, které se jinak dají aktivovat pouze s nástroji firmy Adobe.

Gv

Obrázek: Prohlížeč Ghostview

Gv je prohlížeč postscriptových (kvůli úspoře místa je budu nadále označovat jako PS soubory) a PDF souborů, který používá výstup interpreteru Ghostscript. Je založen na prastarém rozhraní Xaw3d a jeho věk je na něm na první pohled vidět. Poslední verze 3.5.8 je z 11. června roku 1997. Právě použitý interpretr Ghostscript je příčinou toho, že gv neumí vyhledávat v dokumentu, nedokáže zkopírovat text, nemluvě o pokročilejších vlastnostech. Je to pochopitelné, protože výstup z interpreteru je prostá bitmapa. Navíc se moje verze Ghostscriptu (ESP Ghostscript 7.07.1) nevypořádala s reklamou na Firefox a dokument nebyl zobrazen. Nepodporuje zobrazení přes celou obrazovku.

Xpdf

Obrázek:Prohlížeč Xpdf

Na rozdíl od gv prohlíží pouze soubory PDF, dělá to ale dobře. Jeho prostředí, založené na rozhraní Motif (ve svobodných systémech nahrazeno projektem Lesstif), je snad ještě více spartánské než prostředí předchozího programu. Protože se specializuje právě na prohlížení, podporuje takové operace jako hledání a kopírování textu do schránky. Renderování reklamní stránky z projektu spreadfirefox trvalo asi 10 až 12 sekund (Athlon XP 1500+), ale samotné prohlížení již bylo velmi rychlé. Nedokázal vykreslit transparentní logo Firefoxu. Pokročilejší vlastnosti, jako třeba vyplňování formulářů, už Xpdf nezvládá, ale uplatňuje DRM, takže dokumenty zamčené proti kopírování nebo tisku si opravdu nezkopírujete nebo nevytisknete. Což se týká i nevizuálních nástrojů, které jsou součástí tohoto balíku, jako pdftops, pdfimages, … Pokus o tisk skončí chybovým hlášením

Error: Printing this document is not allowed.

Renderovací jádro Xpdf v minulosti obsahovalo několik bezpečnostních chyb, i proto bylo rozhodnuto o přepracování projektu do knihovny poppler, o který se stará projekt freedesktop.org. Tato knihovna je základem pro prohlížeče KPDF a Evince. Je součástí současných snah o sbližování dvou konkurenčních desktopů KDE a GNOME.

Pokročilejší vlastnosti, jako třeba vyplňování formulářů, už Xpdf nezvládá, ale uplatňuje DRM. Pochopitelně existují záplaty, které tuto "vlastnost" odstraňují, takto upravená verze je součástí Debianu. Například v Gentoo se vypne USE flagem nodrm. Což jistě potěší čtenáře dokumentů, méně již jejich producenty a především firmu Adobe. Parametr -fullscreen zapne zobrazení na celou obrazovku.

Digital Rights Management (DRM), které je možné přeložit jako "Správa digitálních práv", je zastřešujícím pojmem pro technické metody, kterými se kontroluje nebo omezuje používání obsahu digitálních médií. Nejčastěji je technikami DRM chráněna hudba, obrazové umění, počítačové hry, videohry a filmy.

Někteří výrobci obsahu, který se ukládá na digitální média, považují DRM technologie za nutný způsob, jak zabránit nelegálnímu kopírování obsahu, který je chráněn autorskoprávní ochranou. Ochránci občanských svobod nicméně namítají, že přesun kontroly používání médií ze spotřebitelů na mediální průmysl bude znamenat ztrátu existujících práv uživatelů, stejně jako potlačení inovací v softwaru u kulturních projevů. Pozn. redakce, zdroj: Wikipedia

KPDF

Obrázek: Prohlížeč KPDF

Pokud hovoříme o KPDF, musíme zmínit, o které verzi prostředí KDE mluvíme, protože ve verzi 3.4 učinil tento prohlížeč velký skok kupředu, kdy začal podporovat kopírování textu do schránky a vyhledávání. Od verze 3.5 dále používá knihovnu poppler. KPDF na rozdíl od svého předchůdce renderuje PDF dokument v několika průbězích, přičemž se dokument neustále zpřesňuje, podobně jako o progresivního JPEGu. Postscriptové dokumenty zobrazí tak, že je za běhu zkonvertuje na PDF. Milovníky eye-candy jistě potěší efektní animace, které se objevují při hledání. KPDF umí vypnout DRM a neřídit se jimi. Má velmi dobře zpracovaný režim zobrazení přes celou obrazovku, kdy se v horní části zobrazuje kruh, který ukazuje číslo stránky a znázorňuje umístění. Při najetí na horní stranu se zobrazí lišta s tlačítky sloužící pro pohyb dopředu a zpět a pro opuštění prezentačního režimu.

Obrázek:Povolení/zakázání DRM

Obrázek: Pokus o tisk s povoleným DRM

Evince

Obrázek:Prohlížeč Evince

Tento program nahradil starší GPDF, což byla varianta Xpdf pro prostředí GNOME. Na rozdíl od KPDF je určen pro prostředí GNOME a není to pouhý prohlížeč PDF dokumentů, nýbrž univerzální prohlížecí program, který podporuje mnoho formátů jako Postscript, djvu, tiff a dvi. Stejně jako jeho dvojče KPDF, je i Evince založen na knihovně poppler, tudíž rozdíly mezi nimi jsou spíše kosmetické. Což je také pravda, protože nejvýraznější změnou, co se prohlížení PDF týká, jsou chyby v překreslování obrazovky. Velmi nepříjemné je, když vám při výběru textu pomocí myši zmizí okolní text. Trochu nelogické je, že podporuje dva různé celoobrazovkové režimy. V tom prvním je nahoře stále zobrazena informační lišta, která na rozdíl od KPDF nezmizí. Ve druhém nejsou zobrazeny žádné informace.

Obrázek:Chyby v překreslování obrazovky programu Evince

Acrobat Reader 5

Obrázek:Adobe Acrobat Reader 5

Acrobat Reader je původní název prohlížeče společnosti Adobe. Jeho poslední unixová verze je verze 5, která schopnostmi odpovídá verzím na ostatních platformách. Přestože se na uvedení nové verze netrpělivě čekalo, mnoho lidí stále dává přednost této starší, protože verze 7 je daleko náročnější na systémové prostředky. Je založena na rozhraní Motif. Dokáže zobrazit reklamu na Mozilla Firefox včetně loga a nápisu Firefox.

Špatnou vlastností je, že v dočasné paměti má pouze zobrazenou část dokumentu. Což se nepříjemně projevuje především u takto velkých dokumentů (jako je zmíněná reklama), prohlížeče založené na Xpdf tím netrpí. Při pokusu o prohlédnutí formuláře nejprve zobrazí varování o tom, že dokument obsahuje vlastnosti, které neumí zobrazit a potom skončí signálem SIGABRT. DRM v dokumentech pochopitelně úzkostlivě dodržuje. V celoobrazovkovém režimu nezobrazuje žádné stavové informace.

Obrázek: Varování o nepodporovaných vlastnostech

Obrázek:Upozornění o podporované verzi Readeru

Adobe Reader 7

Obrázek: Adobe Reader 7

Od verze 7 změnil prohlížeč jméno i rozhraní. Tato verze používá staticky linkované GTK+2. Vzhledem k tomu, že verze 6 v unixové verzi nevyšla, mnoho lidí na verzi 7 netrpělivě čekalo. Bohužel se Adobe "podařilo" vytvořit program velmi náročný na systémové prostředky, nicméně je Adobe Reader momentálně jediný prohlížeč pro unixy a Linux, který zvládá i pokročilé vlastnosti formátu PDF, jako jsou poznámky a vyplňování formulářů.

Doba jeho startu je poměrně dlouhá - mnou experimentálně změřené hodnoty se pohybovaly v rozmezí 40 až 50 vteřin. Nepomáhá ani opakované spouštění, rozdíl mezi prvním a dalším startem je minimální. Stejně jako jeho starší verze i Adobe Reader ukládá do paměti pouze viditelnou část a ne celou stranu, což je při posunování stránek nepříjemně znát. A o vypnutí DRM nemůže být pochopitelně řeč. Jeho celoobrazovkový režim je stejný jako u jeho předchůdce, pouze je možné nastavit zobrazení ovládací lišty, která se objeví pro změnu dole, ale neobsahuje žádné stavové informace.

Foxit Reader pro Linux

Obrázek: Foxit Reader pro Linux

Při psaní tohoto článku jsem měl takovou ideu, že vyzkouším prohlížeče z Windows pod Wine. První z nich, Acrobat Reader 6, se nenainstaloval proto, že chtěl Internet Explorer verze 6, který se mi opravdu nechtělo instalovat. Po návštěvě stránek Foxit Software jsem překvapeně zjistil, že vytvořili preview verzi svého prohlížeče i pro Linux, proto jsem zanechal pokusů s Wine a vyzkoušel nativní verzi. Díky tomu, že se jedná o jeden spustitelný soubor, startuje aplikace stejně rychle jako Xpdf. To taky ukazuje na velkou bolest linuxových grafických programů, které při startu čtou z mnoha sdílených knihoven a časté přístupy na disk start aplikací jednoznačně zpomalují.

Byl jsem velmi zvědavý na kvality tohoto programu, ale musím říct, že jsem byl velmi zklamán. Foxit umí pouze zobrazovat, ani to vyhledávání v dokumentech nezvládá a dokonce neumí tisknout, což je velmi smutné. Nedokázal ani zobrazit soubor s formulářem, neumí vůbec hypertextové odkazy a nenabízí žádný celoobrazovkový režim. Navíc se v horní části zobrazuje červené upozornění "Displayed by FPDFVIEW.DLL. For Evaluation only" a copyright, což považuji vzhledem ke konkurenci v podobě Xpdf/poppler za velmi nešťastné. Už jen kosmetickou vadou bylo, že neumí zpracovat příkazovou řádku. Foxit tedy nabízí pouze rychlost startu, jednoduché a hezké grafické prostředí (ve srovnání s Xpdf) a fakt, že je to pouze jeden spustitelný soubor. Doufám, že Foxit zapracuje především na samotném vykreslovacím jádru, protože jinak nemá v konkurenci s popplerem žádnou šanci.

Obrázek: Otravná červená hláška

Obrázek:Špatně zobrazený formulář

Závěr

Porovnávání PDF prohlížečů se nakonec ukázalo jako velmi zajímavé téma. Neexistuje tu žádný jednoznačný vítěz. Vzhledem k tomu, že Xpdf/KPDF/Evince používají prakticky stejné jádro, jsou mezi nimi rozdíly spíše kosmetické. U Evince mě překvapilo, že jej není možné jakýmkoliv způsobem nastavit. Ale jeho styl ovládání, když se nemusí přepínat režim výběru textu, je výborný. V prezentačním zobrazení byl zase lepší KPDF. Další prohlížeč, gv, trpí tím, že zobrazuje pouze bitmapy, takže není možné, aby podporoval pokročilé vlastnosti.

Vítězem ohledně schopností rozumět formátu PDF je jednoznačně a pochopitelně Adobe Reader 7 následovaný Acrobat Readerem 5. Nicméně především verze 7 je velmi neoblíbená pro dlouhou dobu startu a spotřebu systémových prostředků. Také mě překvapilo, že originální Adobe prohlížeče neukládají vykreslené části stránek do paměti, a proto musí vykreslovat stále znovu, zatímco Xpdf a ostatní si uloží celou stránku a při prohlížení větší plochy již vykreslování znovu neprovádějí.

Černý kůň tohoto kola, Foxit Reader, mě bohužel velmi zklamal. Jeho vykreslovací jádro patřilo k nejhorším v testu a samotný program měl minimum možností. Také mi vadilo otravné červené hlášení, které by se snad dalo pochopit, pokud by nabízel něco navíc oproti Xpdf/poppler. Ale ve skutečnosti je o něco horší než zmíněná konkurence. Dále se mi nelíbí jeho problematická licence, která zakazuje jeho používání pro komerční účely. Protože samotná definice komerčního využívání neexistuje a ostatní a navíc mnohem schopnější prohlížeče žádnou podobnou klauzuli neobsahují. Jeho jedinou nadějí do budoucna je, že Foxit Software svůj prohlížeč vylepší; obávám se ale, že problematické licenční ustanovení mu už nadále zůstane.

Diskuze (0) Nahoru