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
Go verze
Vytváříme pdfmarks: základy syntaxe, nastavení vlastností dokumentu
Adobe Acrobat Praxe
23. ledna 2002, 00.00 | Tímto článkem začínáme tutoriál praktického využití pdfmarks při tvorbě PDF dokumentů. Dnes se zaměříme především na obecný úvod včetně přiblížení specifik práce s češtinou.
Článek o možnostech a použití pdfmarks, tedy instrukcí rozšiřujících postscriptový kód o specifické příkazy PDF, vzbudil u čtenářů Grafiky poměrně velký zájem. Z uvedeného důvodu jsme se formou několikadílného tutorialu pokusili přiblížit využití alespoň těch nejzajímavějších možností, které pdfmarks nabízejí. Dnes začneme s obecným popisem syntaxe pdfmarks, doplněným ukázkami nastavení některých vlastností PDF dokumentu.
K metodě práce
Dále uvedené příklady jsme odzkoušeli v "PDF-workflow" tvořeném Microsoft Wordem 97, postscriptovým tiskovým ovladačem společnosti Adobe a Ghostscriptem, doplněným aplikací GSview. (Návod ke zprovoznění distillace uvedeným způsobem naleznete zde, postup ke vkládání pdfmarks ve Wordu pak zde.) Dále uvedené příklady lze nicméně aplikovat i při jiných způsobech tvorby PDF, jako je například kombinace TeX-dvips-Ghostscript.
Základními informačními zdroji nám byly materiály pdfmarks Primer Thomase Merze a specifikace pdfmarks doplněná o specifikaci PDF (1.3, 1.4).
Základy syntaxe
Zápis jednotlivých typů pdfmarks je skutečně velmi různorodý. Obecná syntaxe je nicméně
velmi jednoduchá:
[
...argumenty...
/TYP pdfmark
kde argumenty mají obvykle podobu dvojice klíč-hodnota,
/TYP je jméno, určující druh pdfmark.
Důležitým údajem používaným často v pdfmarks je text. Ten lze zadávat ve dvou kódováních: v PDFDocEncoding a Unicode. Syntaxe pro první způsob je (textový_řetězec), pro druhý pak <FEFFtextový_řetězec_v_hexadecimální_podobě>. První uvedené kódování neumožňuje zápis některých českých znaků, v druhém případě lze nicméně použít pouze hexadecimálního zápisu, který je normálnímu smrtelníkovi poněkud nesrozumitelný. Ani jedna z metod tedy není pro české texty zrovna ideální, nicméně i ta druhá je zvláště u unifikovaných či kratších textů použitelná. (Řešením by mohlo být makro Wordu zajišťující převod mezi hexadecimální a textovou reprezentací. Na Internetu se nám zatím ovšem takovýto prostředek nalézt nepodařilo. Přehled tabulek Unicode je každopádně dostupný zde.)
Vedle textu zaslouží pozornost i údaje o čase a datu (typu datum poslední úpravy apod.). Ty se zadávají ve tvaru (D:YYYYMMDDHHmmSSOHH'mm'), kde D: je volitelný (nicméně v podstatě povinný) prefix, YYYY znamená rok, MM měsíc, DD den, HH hodina, mm minuta a SS sekunda. Zbytek informací pak určuje časový posun (O je + či -, HH' absolutní hodnota časového posuvu v hodinách, mm' absolutní hodnota časového posuvu v minutách) a není-li třeba jej specifikovat, lze jej vynechat.
Zabezpečení tiskového výstupu
Náš přehled musíme začít malým upozorněním. Chce-li uživatel použít vygenerovaný
postscriptový soubor i k normálnímu tisku, měl by do výstupu vložit "ochranné" instrukce
zamezující nekorektní interpretaci pdfmarks na tiskárně. Doporučena je následující
sekvence:
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
Má-li se navíc předejít i inkompatibilitám ve starších interpretech PostScriptu
(problémy s interpretací operátoru << a >>),
měl by být tento kód rozšířen takto:
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
/languagelevel where {pop languagelevel}{1} ifelse
2 lt {
userdict (<<) cvn ([) cvn load put
userdict (>>) cvn (]) cvn load put
} if
Kód by měl být vložen buď před každou vkládanou pdfmark (poněkud nešikovné) nebo
do úvodu postscriptového souboru. Prakticky to tedy znamená například vložit co nejvíce
na začátek nativního dokumentu (tedy dokumentu, z kterého bude realizován výstup)
tiskové pole (Word) či jiný "nosič" (makro \special TeXu apod.)
obsahující uvedený kód.
Nastavení metadat dokumentů (DOCINFO)
Jedním z důležitých parametrů každého PDF dokumentu jsou informace uloženy v jeho
informačním slovníku (Info Dictionary). Ty obsahují nejrůznější metadata určující
například tvůrce dokumentu, jeho titul, klíčová slova ad. K nastavení uvedených
parametrů slouží pdfmark typu /DOCINFO. Její syntaxe je následující:
[/Author textový_řetězec
/CreationDate časový_údaj
/Creator textový_řetězec
/Producer textový_řetězec
/Title textový_řetězec
/Subject textový_řetězec
/Keywords textový_řetězec
/ModDate časový_údaj
/DOCINFO pdfmark
Význam většiny údajů je jistě zřejmý z jejich pojmenování, žádný z nich nemusí být
použit povinně - je tedy možno "vyplnit" jen určité údaje. Mimo uvedených polí lze i
definovat libovolné vlastní - ty sice nebudou zobrazeny v Acrobatu, ale lze je využít
při indexování dokumentů. Instrukce /DOCINFO by mělo být vloženo hned na začátek
nativního dokumentu.
Příklad:
[/Title (Pokus) /Subject (Tvorba PDF)
/Author <FEFF00520069006300680061007200640020004B00720065006A010D00ED>
/Keywords (pdfmarks tutorial) /Creator (Hand-made)
/CreationDate (D:200102271258) /ModDate (D:200102271358)
/DOCINFO pdfmark
Do dokumentu vloží údaje jejichž obsah je zobrazen na následujícím obrázku. Povšimněte
si hexadecimálního zápisu textu u pole Author a způsobu nastavení data vytvoření a
modifikace.
Zobrazení dokumentových informací v Acrobatu (příkazem File-Document Properties-Summary).
Nastavení parametrů pro otevření (DOCVIEW)
V PDF dokumentu může být obsažena řada informací určujících jeho chování poté, co je
otevřen v prostředí Acrobatu či Readeru.
K nastavení uvedené vlastnosti slouží pdfmark DOCVIEW, mající následující formát:
[/PageMode name
…Další_akce…
/DOCVIEW pdfmark
/PageMode zde stanoví, jakým způsobem bude dokument po otevření zobrazen. Možné
přepínače jsou /UseNone (zobrazí se pouze dokument),
/UseOutline (zobrazí se dokument a panel s bookmarky),
/UseThumbs (zobrazí se dokument a miniatury) a
/FullScreen (dokument se otevře přes celou obrazovku).
Není-li /PageMode specifikován, užije se /UseNone.
Dále použitelných akcí je u DOCVIEW celá řada.
V základě je lze rozdělit na ty, které se odvolávají na určitou destinaci
(stránka nebo pojmenovaná pozice v dokumentu) a
dále pak na ty, které spouštějí určitou akci
(mj. přechod do jiného dokumentu, spuštění určité aplikace,
přehrání zvuku či videa apod.).
Podrobněji se jim budeme věnovat v dalším díle našeho tutorialu.
Zmiňme zde nicméně (a v následujícím příkladu ukažme) alespoň použití klíčů
/Page (určuje, na které stránce se má dokument otevřít -
v tomto kontextu se využívá číselného určení) a
/View (určuje mód zobrazení -
například hodnota [/FIT] zarovná stránku do okna,
hodnota [/XYZ 0 0 0.8] otevře
stránku při zvětšení 80 % apod.).
Příklad:
[/PageMode /FullScreen /View [/XYZ 0 0 0.75] /Page 3 /DOCVIEW pdfmark
V Acrobatu (Readeru) se dokument otevře na straně 3
v módu FullScreen při zvětšení 75 %.
Obsah seriálu (více o seriálu):
- Pdfmarks: interaktivní PDF zdarma
- Vytváříme pdfmarks: základy syntaxe, nastavení vlastností dokumentu
- Vytváříme pdfmarks: anotace
- Pdfmarks: odkazy a bookmarky
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