Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
-
30. září 2024
-
4. října 2024
-
14. listopadu 2024
-
11. prosince 2024
PDF - Adobe Acrobat
Extrahování obsahu PDF dokumentů v Adobe Acrobatu a Acrobat Readeru: Text
Adobe Acrobat Praxe
7. března 2003, 00.00 | Jakými nástroji a s jakou úspěšností lze z PDF souborů vytáhnout jejich obsah v
prostředí Adobe Acrobatu či Acrobat Readeru? V tomto článku se pokusíme o zodpovězení
zmíněné otázky v případě textu.
V diskusních fórech spojených s PDF se velmi často objevuje dotaz po způsobech, jakými lze získat obsah PDF souborů (text, grafika) pro další zpracování. Důvody zde bývají různorodé: můžeme mít například dokument, který jsme získali třeba z Internetu, jehož některé prvky chceme využít v dokumentu vlastním, a jehož předlohové soubory nám nejsou k dispozici. Obdobná situace vzniká i v případě, že by dohledávání předloh bylo časově zbytečně náročné. Praktické je rovněž extrahování či převod PDF dokumentu do jiného formátu při křížovém publikování (převod na Web či pro kapesní zařízení typu PDA či mobilního telefonu) anebo v případě, že v daném PDF byly prováděny dodatečné změny, nezaznamenané v předlohách. Různorodých nároků je tedy zde skutečně celá řada (a to jsme uvedli jen některé) a proto jsme se rozhodli podívat podrobněji na to, jakými nástroji a postupy lze tedy získávat data z PDF dokumentů. V našem přehledu jsme se přitom zaměřili na nasazení nejobvyklejšího nástroje pro práci s PDF, tedy Adobe Acrobatu, resp. jeho freewarového souputníka Acrobat Readeru. Z prostorových důvodů jsme zcela vypustili konkrétní popisy jednotlivých nástrojů a postupů: ty lze nicméně snadno nastudovat z odpovídající dokumentace, dodávané s výše uvedenými produkty. Prostorové důvody nás rovněž vedly k rozdělení tohoto článku do dvou částí. V této první se podíváme na problematiku spojenou s extrahováním textových informací, v druhé pak na obdobné zpracování grafických prvků.
Jaké požadavky lze mít na extrahování textu?
Při extrahování textu můžeme mít různé požadavky na kvalitu výstupu. Základní požadavek bývá reprodukce samotné informace, vyjádřené daným textem. Vyšší nároky vyžadují zachování formátovacích charakteristik znaků (font, řez, velikost apod.), nejvyšší pak reprodukce layoutu (řádkový proklad, odstavce, sloupce, umístění apod.), které bývá zapotřebí například při převodu do formátu RTF či HTML stránek. K získání všech uvedených typů výstupu lze použít v Acrobatu a někdy i Readeru řadu produkčních postupů a nástrojů, o jejichž popis se dále pokusíme.
Ještě předtím však považujeme za vhodné upozornit čtenáře na komplikace, spojené nikoli s dále popisovanými nástroji, ale již samotnými PDF dokumenty. Rozmanitost nástrojů pro tvorbu PDF (a také jejich konfigurací) totiž bohužel umožňuje vytvářet takové PDF soubory, jejichž obsah jednoduše kvalitně extrahovat nejde, a to ani s použitím toho nejlepšího nástroje. V případě textu můžeme jako příklad uvést například dokumenty, vytvořené převodem z PostScriptu nebo určitými (ne všemi!) produkčními postupy v TeXu (použití tzv. virtuálních fontů) - jejich obsah sice vizuálně v pořádku, ale po extrahování jsou znaky národních abeced převedeny neadekvátním způsobem. Lékem na uvedené problémy by mohlo být do budoucna důsledné využití tagovaného PDF, ve kterém je každému znaku přiřazen jeho význam v kódování Unicode. Současným řešením pak obvykle bývá pouze vyžádání odpovídajících podkladů od jejich tvůrce. Není-li něco takového možné, připadá v úvahu i vytištění daného dokumentu a jeho následné předložení OCR aplikaci. Neopomeňme ovšem zdůraznit, že při jakémkoli použití podkladů získaných z PDF dokumentů vytvořených někým jiným, musíme respektovat autorská práva.
Převod přes schránku
Pro extrahování resp. přenos textové informace pomocí schránky lze shodně v Acrobatu i Readeru použít nástroj pro výběr textu (kontinuální výběr), sloupce (nekontinuální výběr) nebo tabulky/formátovaného textu (tabulky, sloupce, svislý text - nabízí pouze Acrobat ve verzi pro Windows). Fungování uvedených funkcí se od sebe poněkud liší, podíveme se nejprve na první dvě možnosti.
Zde se po výběru požadovaného textového úseku (tažením) provede s pomocí odpovídajících příkazů jeho překopírování přes schránku. (Před vložením do jiné aplikace si lze obsah schránky prohlédnout prostřednictvím příkazu Okna-Zobrazit schránku.) Navíc je možný i přímý přenos do okna jiné aplikace pomocí funkce Drag&Drop. Příkazem Úpravy-Vybrat Vše lze ke kopírování označit buďto všechen text na dané stránce (zobrazení v módu Jedna stránka) nebo v dokumentu (Průběžné či Průběžné-Protilehlé zobrazení). Při převodu se zachovávají základní formátovací charakteristiky písma a struktura stránky, výsledek ovšem nemusí být zcela předvídatelný, a je dosti závislý na povaze samotného dokumentu (čím jednodušší, tím lepší výsledky). Poněkud mrzutý je při uvedené formě převodu fakt, že se export snaží zachovat přesně ukončení řádků a vkládá na jejich místo znak odstavce (tvrdé zalomení řádků).
V Acrobatu i Readeru je možný přenos textu přes schránku.
V případě zmíněné třetí varianty (nástroj pro výběr tabulky/formátovaného textu) přibývá možnost uložení vybraného textu do souboru (příkaz je dostupný v odpovídající kontextové nabídce vyvolané nad daným výběrem) ve formátu TXT (ANSI, OEM či Unicode) a RTF. Potěšující pak je možnost odstranit zmíněné tvrdé zalomení konců řádků (opět ve zmíněné kontextové nabídce) a převést tabulková data na odpovídající vyjádření v RTF (při převodu do textu se použijí tabulátory). (Dále je ještě možná svislá selekce vhodná například pro sloupce tabulky či japonštinu. Chování zmíněné funkce lze doladit pomocí příkazu Úpravy-Předvolby-Tabulka/Formátovaný text.) I přes deklarované možnosti jsme nicméně při našich přenosových testech nebyli, zejména u souvislého textu rozděleného do odstavců, příliš spokojeni. Problémem byla především problematická selekce textových úseků, která nefungovala tak, jak bychom předpokládali. Navíc lze uvedeným typem nástroje vybírat pouze textové úseky v rámci stránky, což značně omezuje jeho užití.
Nástroj tabulky/formátovaný text umožňuje při přenosu vypnout tvrdé zalomení řádků.
Nástroj pro retušování objektů v Acrobatu
Podstatně výkonnější práci s textovými atributy zajišťuje při přenosu využití nástroje pro retušování objektů. Ten umožňuje jeden nebo více zvolených objektů, kterými mohou být i textové bloky, otevřít k úpravám v zadané externí aplikaci. (Viz příkaz Úpravy-Předvolby-Všeobecné, položka Retušování.) Nejvhodnější je zde nasazení Adobe Illustratoru, který zachovává značně věrně původní charakteristiky převzaté v PDF, a umožňuje otevřený obsah nejen upravit, ale rovněž přenést do svých dokumentů či jiných formátů. I u něj se ovšem mohou vyskytnout jen těžko odstranitelné problémy, vznikající například absencí použitého písma, různými způsoby zalamování apod. Navíc se u problematičtějšího PDF a slabších hardwarových konfigurací můžeme setkat s pády systému, dané jeho enormním zatížením při uvedeném typu zpracování.
Exportní funkce Acrobatu
Pro ty, kdo potřebují naráz extrahovat obsah celého dokumentu, je v Acrobatu (nikoli Readeru) k dispozici rovněž odpovídající exportní funkce, skrývající se pod příkazem Soubor-Uložit jako. Ta umožňuje veškerý nalezený textový obsah převést do formátů TXT a RTF. Podrobnější vyladění jejího chování pro RTF je možné prostřednictvím odpovídajících preferencí Acrobatu (Úpravy-Předvolby-Tabulka/Formátovaný text), pro korektní zachování formátovacích charakteristik je třeba, aby bylo dané PDF tagované. Obě formy exportu trpí především již zmíněným tvrdým zalomením řádku. Rovněž není možno vyselektovat pouze zvolený textový úsek - pokud uživatel nechce extrahovat celý dokument, musí provést pomocí odpovídajících nástrojů nejprve výběr zvolených stránek do nového dokumentu a ten teprve exportovat.
Nastavení převodu do RTF.
Mimo zmíněné exportní funkce poskytuje Adobe pro Acrobat zdarma plugin Save as XML (viz odkazy ve spodní části odkazované stránky). Jeho použitím lze extrahovat obsah PDF dokumentu do XML či HTML a připravit tak daný obsah například k importu do jiné aplikace podporující XML nebo pro publikování na Webu. (Blíže se hodláme možnostem zmíněného doplňku věnovat ve zvláštním článku.)
Co čeština?
Otázkou je samozřejmě do jaké míry dokáží uvedené metody a nástroje zajistit korektní extrahování češtiny resp. znaků jiných národních abeced. Bez zabíhání do zbytečných podrobností zde pouze konstatujme, že nejspolehlivější výsledky garantují jednoznačně lokalizované verze Acrobatu či Readeru ve verzi 5, přičemž ani ty nedokáží řešit problémy se specifickými PDF dokumenty, o kterých jsme hovořili výše.
Závěrem
Možností, jak v Adobe Acrobatu extrahovat text z PDF dokumentů, je celá řada. Žádný z nich však nenabízí, a to jak díky zatím ne úplně dokonalé implementaci nabízených exportních funkcí, tak zejména vzhledem k současnému způsobu vyjádření textu v PDF dokumentech, úplně ideální výsledky. Zvláště u kratších dokumentů s jednodušší strukturou lze nicméně k přenosu textu poměrně úspěšně využít i bezplatný Reader. Pokročilejší funkce extrahování, nabízející velmi zajímavé možnosti strukturování výstupu i velmi širokou škálu výstupních formátů, dokáží poskytnout specializované nástroje jiných výrobců - na jejich přiblížení se podíváme ovšem až někdy příště. Zvídavý čtenář může nicméně již dnes vyrazit například na server PDF Store, kde nalezne velmi komplexní přehled uvedeného typu produktů.
Tématické zařazení:
-
14. května 2014
Jak vkládat snímky do galerií a soutěží? Stručný obrazový průvodce
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
12. června 2012
-
9. dubna 2014
-
5. ledna 2017
-
6. září 2004
OKI snižuje ceny barevných laserových tiskáren C3100 a C5200n
-
13. května 2004
-
19. ledna 2004
QuarkXPress Passport 6: předvedení nové verze na konferenci Apple Forum 27.1.2004
-
6. února 2001
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
14. října 2024
-
22. října 2024
-
10. prosince 2024