Difference between revisions of "Textová vrstva DjVu dokumentu"

From DCEwiki
Jump to: navigation, search
m (Syntaxe pro djvused)
m
Line 1: Line 1:
 
<noinclude>{{ Přejít na | DjVu |
 
<noinclude>{{ Přejít na | DjVu |
[[Anatomie DjVu dokumentu]] | [[DjVu a metainformace]] |
+
[[Anatomie DjVu dokumentu]] | [[Metadatová vrstva DjVu dokumentu]] |
 
}}[[Kategorie:DjVu]]</noinclude><includeonly>== Textová vrstva DjVu dokumentu ==</includeonly>
 
}}[[Kategorie:DjVu]]</noinclude><includeonly>== Textová vrstva DjVu dokumentu ==</includeonly>
 
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 (DjVuLibre)|djview]]. Nicméně práce na příkazové řádce je docela použitelná a efektivní - pokud člověk ví co a jak.
 
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 (DjVuLibre)|djview]]. Nicméně práce na příkazové řádce je docela použitelná a efektivní - pokud člověk ví co a jak.
Line 25: Line 25:
 
* topmax - 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 <nowiki>"http://www.neco.cz"</nowiki> "Text co se zobrazí v bublině" (rect 225 0 804 61) (xor))
 
 
alternativně lze použít
 
 
(maparea (url <nowiki>"http://www.neco.cz"</nowiki> "_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 (DjVuLibre)|djvused]] vám sice umožní klíčové slovo s diakritikou vložit, ale [[djview (DjVuLibre)|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í:'''
 
<pre>
 
(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"" )
 
</pre>
 
 
=== 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.}}
 
{| class="wikitable"
 
|-
 
! !! 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
 
|}
 
 
{| class="wikitable"
 
|-
 
! 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"))
 
 
<noinclude><references /></noinclude>
 
<noinclude><references /></noinclude>

Revision as of 12:03, 18 December 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ů