Vladimír Kraus: PDF
Predchozi (Obsah) Dalsi

5. Struktura dokumentu

Předchozí kapitoly se zabývaly způsobem vytváření struktury PDF souboru. Tato kapitola naproti tomu popisuje objekty, které určují vlastní vzhled dokumentu PDF. Je zde totiž popsána část tělo - body - PDF souboru.

Základní jednotkou pro popis zobrazování dokumentu je objekt katalog - catalog object. Odkaz na něj je umístěn v objektu trailer.

5.1. Objekt katalog

Katalog je základním uzlem celého PDF dokumentu. Jedná se o objekt typu slovník - obsahuje odkazy na stromovou strukturu stránek dokumentu, strom osnovy a na další údaje.

5.1.1. Základní položky objektu katalog

  • Type (povinné)
    Vždy hodnota Catalog
  • Pages (povinné, nepřímá reference)
    Odkaz na objekt, který je kořenem stromu stránek dokumentu.
  • Outlines (povinné, pokud má dokument osnovu, nepřímý odkaz)
    Odkaz na objekt - kořen stromu osnovy dokumentu.
  • PageMode (nepovinné)
    Určuje, jakým způsobem se má dokument zobrazit při otevření. Jsou povoleny tyto hodnoty:
    • UseNone - otevírá dokument se skrytou osnovou i náhledy,
    • UseOutlines - otevírá dokument s viditelnou osnovou,
    • UseThumbs - dokument je otevřen s viditelnými náhledy jednotlivých stránek,
    • FullScreen - otevře dokument v maximalizovaném okně se skrytými ovládacími panely prohlížeče dokumentu.

    Implicitní hodnota položky PageMode je UseNone.

  • OpenAction (nepovinné)
    Jestliže hodnota obsahuje objekt typu pole, musí v něm být definován cílový dokument, který se otevře při načtení dokumentu. Pokud je hodnotou této položky slovník, je provedena jím specifikovaná akce.
  • ViewerPreferences (nepovinné)
    Ve slovníku je možné nastavit vlastnosti prohlížeče při otevření PDF dokumentu.

5.2. Pages tree (strom stránek)

Stránky dokumentu jsou při zobrazování přístupné pomocí stromu stránek - Pages tree. Kořen tohoto stromu a všechny jeho uzly jsou slovníky s následující strukturou:

  • Type (povinné)
    Vždy hodnota Pages.
  • Kids (povinné)
    Seznam nepřímých odkazů na bezprostřední potomky uzlu stromu.
  • Count (povinné)
    Počet potomků uzlu stromu. Počet zahrnuje všechny následníky uzlu - tedy nejen bezprostřední.
  • Parent (povinné, nepřímý odkaz)
    Odkaz na uzel, který je bezprostředním předchůdcem tohoto uzlu. Kořen stromu tuto položku neobsahuje.

Příklad stromu stránek pro dokument se třemi stránkami:

2 0 obj
<<
/Type /Pages
/Kids [4 0 R 10 0 R 24 0 R]
/Count 3
>>
endobj

Uzly stromu mohou obsahovat další položky. Ty určují vlastnosti všech stránek, které jsou jeho potomky (nastavení se dědí).

5.3. Objekt stránka

Objekt stránka - page - popisuje vlastní vzhled jedné strany dokumentu. Jedná se o slovník, jehož klíčové položky odkazují na text, grafiku a obrázky.

5.3.1. Základní položky objektu Page

  • Type (povinné)
    Vždy hodnota Page
  • MediaBox (povinné, může být zděděno z objektu Pages)
    Specifikace celkových rozměrů stránky. Např. rozměr formátu A4.
  • Parent (povinné, nepřímý odkaz)
    Odkaz na objekt Pages, který je přímým předchůdcem této stránky.
  • Resources (povinné, může být zděděno)
    Seznam zdrojů (fontů, použitých barev, ...), které stránka využívá. Jestliže stránka nepoužívá žádné zdroje, měl by zde být definován prázdný slovník (<< >>). V opačném případě se zdroje dědí.
  • Contents (nepovinné, nepřímý odkaz)
    Popis obsahu stránky. Jsou zde odkazy na objekty, které vytvářejí vzhled stránky:
    • Path object - definuje jakýkoliv tvar složený z rovných čar, obdélníků a křivek. V objektu jsou položky, které nastavují vlastnosti vyplnění a ořezávání ostatních objektů.
    • Text object - popisuje jeden nebo více znaků, které mohou být umístěny na libovolném místě stránky s libovolnou orientací. Také u tohoto objektu je možné zvolit způsob vyplnění a ořezávání.
    • Image object - odkazuje na obrázek a určuje jeho pozici a orientaci na stránce. Obrázek bude zobrazován v určeném barevném schématu.
    • External object - v současné době podporuje PDF tři druhy externích objektů: obrázky, formuláře (pro Internet) a fragmenty kódu jazyka PostScript.
  • CropBox (nepovinné, může být děděno)
    Obdélník určující rozměry, do nichž se vykresluje obsah stránky.
  • Rotate (nepovinné)
    Určuje rotaci stránky při zobrazování. Dovoleny jsou hodnoty 0 (implicitně), 90, 180 nebo 270.
  • Thumb (nepovinné, nepřímý odkaz)
    Odkaz na stream, který obsahuje obrázek s  náhledem na stránku.
  • Annots (nepovinné)
    Pole objektů, které reprezentují annotation (textové a hypertextové odkazy, zvuky a videa) na stránce.

Pomocí objektu Page lze nastavit styl automatické prezentace dokumentu PDF. U každé stránky lze nastavit dobu jejího zobrazování a způsob přechodu na další stránku.

5.4. Thumbnails (náhledy)

Dokument může obsahovat zjednodušené náhledy obsahu jednotlivých stránek. Náhledy nejsou v dokumentu povinné, ale zjednodušují a zrychlují prohlížení dokumentu.

5.5. Actions (akce)

Od verze PDF 1.1 je možné určit, jaká akce se má provést při určité činnosti uživatele (otevření dokumentu, skok na odkaz, ...). Akce mohou být různého typu:

  • GoTo - skok na určenou stranu. Zároveň se určuje i zvětšení (zoom) zobrazené stránky.
  • GoToR - otevření jiného PDF souboru na určené stránce s určeným zvětšením
  • Launch - spuštění aplikace. Obvykle se využívá k otevření souboru.
  • URI - prozkoumá zadané URI (Uniform Resource Identifier) - zdroj na Internetu. Tuto akci zpracovává Acrobat WebLink plug-in (nadstavba prohlížeče PDF dokumentů).
  • Sound - přehraje zvuk.
  • Movie - přehraje video.
  • SubmitForm - odesílá data formuláře na určenou URL (tedy na Internet).
  • ResetForm - nastavuje ve formuláři implicitní hodnoty.

5.6. File ID

V PDF dokumentu může být umístěn odkaz na jiný PDF dokument. Aby byl tento odkaz vždy přístupný a nedocházelo k neočekávaným chybám (např. systém MS DOSu zkracuje názvy souborů na délku osmi znaků), jsou od verze PDF 1.1 implementovány odkazy na jiné soubory pomocí dvou částí: názvu souboru a File ID. Při hledání odkazovaného dokumentu je pak kontrolováno právě File ID.

ID souboru se skládá ze dvou stringů. První je určen při vytvoření dokumentu a zůstává pro dokument neměnný. Druhý string se mění při aktualizacích dokumentu - lze z něj poznat stáří verze souboru.

5.7. Optimalizace PDF dokumentů

Práce s optimalizovaným dokumentem je rychlejší než s obyčejným PDF dokumentem. Je to způsobeno dodržováním následujících zásad:

  • Při otevření dokumentu by se měla první stránka zobrazovat co nejrychleji.
  • Při požadavku na otevření další stránky by se tato měla zobrazit opět co nejrychleji.
  • Jestliže je soubor s dokumentem přenášen do prohlížeče pomalým kanálem (typicky stahování z Internetu), je vhodné, aby byla data zobrazována průběžně tak, jak přicházejí. Ještě lepší řešení nastává v případě, kdy se nejprve zobrazují nejdůležitější data.
  • Měl by být umožněn snadný a co nejrychlejší přechod pomocí odkazů. To znamená, že by odkazy měly být na stránce zobrazeny dříve než ostatní text. Zároveň musí být umožněno použít viditelný odkaz před dokončením zobrazování stránky.

Optimalizaci dokumentu umožňují provádět některé nástroje pro tvorbu PDF dokumentů. Optimalizovaný dokument je vhodné vygenerovat až po provedení všech úprav v dokumentu (tedy na konečné verzi). Po provedení úprav přestává totiž být dokument optimalizovaným.


Predchozi
Converted by Selathco 0.85 on 08.06.1999 11:18
Dalsi