Difference between revisions of "Textová vrstva DjVu dokumentu"

From DCEwiki
Jump to: navigation, search
m
m (Syntaxe pro djvused)
Line 77: Line 77:
  
 
=== Syntaxe pro djvused ===
 
=== Syntaxe pro djvused ===
 
+
{{Poznámka|Pomocí utility '''djvused''' lze naimportovat do textové vrstvy DjVu souboru prakticky libovolný obsah, pokud vyhovuje LISP syntaxi. Ovšem takový soubor pak nelze dodatečně zpracovat pomocí aplikace '''djvusmooth''', která provádí nejenom kontrolu syntaxe, ale také zjišťuje validitu kódu textové vrstvy.}}
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-

Revision as of 13:10, 24 November 2017

Práce s textem v djvu dokumentech mi přišla poněkud nepohodlná, je to ale do značné míry dáno tím, že prozatím neexistuje žádné GUI, které by to usnadnilo vizuální orientaci při editaci textu. Možná by bylo řešením dopsat plugin do aplikace Scribus, nebo rozšířit možnosti djview. Nicméně práce na příkazové řádce je docela použitelná a efektivní - pokud člověk ví co a jak.

Textová vrstva pracuje se třemi typy textových informací Hidden text Annotation


Při vypsání textu přes djvused se můžete setkat s těmito prvky:

page 
je přítomen vždy a vymezuje obsah stránky
column 
sloupec - vyskytuje se v dokumentech co mají text stránek uspořádaný do sloupců
region 
oblast?
para 
odstavec
line 
řádek
word 
nejmenší prvek obsahující samotný text

Souřadnice - Každý z těchto prvků má uvedeny souřadnice levého horního rohua a pravého dolního rohu, jimiž je vymezena jeho pozice vůči stránce. V případě že je obsažen pouze jediný prvek přebírá nadřazený prvek souřadnice podřízeného prvku. Jinak platí že:

  • leftmin - nejnižší leftmin ze všech podřízených prvků
  • topmin - nejnižší topmin ze všech podřízených prvků
  • leftmax - nejvyšší ze všech podřízených prvků
  • topmax - nejvyšší ze všech podřízených prvků

Hypertextové odkazy

Odkazem hypertextových odkazů v DjVu dokumentu nemusí být nutně URL ale lze použít také skok na stránku v rámci dokumentu podle jejího pořadového čísla např. "#2" nebo jména dokumentu "p001_002.djvu" eventuálně vloženého titulku stránky (tu už ale vařím z vody).

Příklad:

(maparea "http://www.neco.cz" "Text co se zobrazí v bublině" (rect 225 0 804 61) (xor))

alternativně lze použít

(maparea (url "http://www.neco.cz" "_blank") "Odkaz bude otevřený do nového okna prohlížeče" (rect 225 0 804 61) (xor))

Metadata

Metadata mohou obsahovat bud jednotlivé stránky DjVu dokumentu nebo celý dokument a jsou součástí skryté textové vrstvy s poznámkami (annotations). Lze je tedy vložit dvěma způsoby. Bud pomocí volby set-ant nebo set-meta V prvém případě je třeba použít plný zápis. Syntaxe je jednoduchá. Klíčovým slovem může být jakékoliv slovo bez mezer a diakritiky. djvused vám sice umožní klíčové slovo s diakritikou vložit, ale djview vám potom odmítne s meta informacemi dále pracovat.

Obsah klíče je oddělen od klíčového slova mezerou a je uzavřen do uvozovek

Příklad syntaxe pro vložení přes set-meta:

klic "Text co se zobrazí pokud umožňuje prohlížeč djvu dokumentů pracovat s metatagy"

Příklad syntaxe pro vložení přes set-ant:

(metadata 
   (klic "Text co se zobrazí pokud umožňuje prohlížeč djvu dokumentů pracovat s metatagy") )

Hlavička a patička stránky

Nastavení hlavičky a patičky se vkládá jako poznámka (set-ant) do shared_anno.iff (select-shared-ant). Jejich tisk je však záležitostí prohlížeče DjVu souborů, zda je do tisku pošle či nikoliv. Jinde totiž než na vytištěném dokumentu záhlaví a patička vidět není. Pokud vím tak ani žádná prohlížečka krom produktu Lizardtechu tento prvek při tisku zatím nepoužívá.

Klíčová slova

  • phead - hlavička
  • pfoot - patička

Zajímavé je, že lze do nich vkládat proměnné - bohužel, nevydedukoval jsem nic než že..

  • proměnnou je nahrazeno místo v uvozovkách..
  • je úplně putna jestli se do uvozovek napíše date, time, page.. vždy totiž nahradí..
    • obsah pravého horního rohu - číslem stránky / celkový počet stránek
    • obsah levého dolního rohu - názvem tištěné stránky dokumentu
    • obsah pravého dolního rohu - aktuálním datem
  • nelze kombinovat text a proměnnou v takových případech se zobrazí pouze text

Příklad použití:

(phead "left::Text v levém rohu" "right::Text v pravém rohu" )
(pfoot "left::Text v levém dolním rohu. Napravo se zobrazí aktuální datum" "right::" date"" )

Rejstřík

Syntaxe pro djvused

Poznámka Pomocí utility djvused lze naimportovat do textové vrstvy DjVu souboru prakticky libovolný obsah, pokud vyhovuje LISP syntaxi. Ovšem takový soubor pak nelze dodatečně zpracovat pomocí aplikace djvusmooth, která provádí nejenom kontrolu syntaxe, ale také zjišťuje validitu kódu textové vrstvy.
set remove output print
meta x x - x
page-title x - - -
outline x x - -
thumbnails x x - -
ant x x x x
txt x x x x
ls vypíše seznam všech stránek
n vypíše celkový počet stránek v dokumentu
dump vypíše dekomprimovaný obsah IFF souboru (stejný efekt jako má utilita djvudump)
size vypíše jaké jsou rozměry vybrané stránky v pixlech. Není-li vybraná žádná stránka vypíš postupně tento údaj pro všechny
select <id> vybere stránku podle jejího id (číslo v prvním sloupci výpisu příkazu ls). Není-li uvedeno žádné id vybere kořen dokumentu
select-shared-ant vybere stránku pro skryté poznámky
showsel vypíše informaci o aktuálně vybrané stránce


ant txt meta outline thumbnails

Akce print output set remove

Zvláštní kombinace: print-pure-txt print-merged-ant output-all


Rozbalovací menu - outline/bookmarks - (bookmarks ("První stránka" "#1") ("Druhá stránka" "#2"))