Manipulace se stránkami DjVu dokumentu
V předchozí kapitole bylo popsáno, jak vytvořit tzv. single-page dokument. Formát DjVu má podporu vícestránkových dokumentů a tyto jednostránkové dokumenty lze vázat do jednoho svazku, který může obsahovat další doplňkové informace, rejstřík, hypertextové odkazy atp.
Vytvoření svázaného dokumentu
Vícestránkový dokument lze vytvořit pomocí nástrojů djvm, resp. djvmcvt buď svázáním jednostránkových dokumentů,
djvm -c svazek.djvu strana1.djvu ... stranaN.djvu
nebo přidáním dalšího DjVu dokumentu - kterým může být i jiný svazek - k již existujícímu svazku ( v níže uvedeném příkladu je jím svazekA.djvu )
djvm -i svazekA.djvu stranka_nebo_svazek.djvu
Při vkládání stránky do svazku lze pořadovým číslem zvolit, od jaké pozice se má s vkládáním začít.
Zajímá vás co se stane s vrstvami u svázaných dokumentů, které obsahují sdílené informace?
Při vkládání platí, že přednost má dokument do kterého stránky vkládáme. Tudíž jeho sdílené vrstvy zůstávají zachovány. Sdílená vrstva importovaného svázaného dokumentu se sice rovněž vloží, ale pod upraveným názvem a prohlížeč s ní dále nepracuje.
Také - pokud vložíte stránku jinam než na konec dojde k rozhození rejstříku (outline) pokud odkazuje pořadovým číslem stránky a ne titulem či jménem cílové stránky.
Pokud vložíte do svazku DjVu dokument, který obsahuje stránku se stejným názvem, bude importovaná stránka přejmenovaná. Má-li některá z importovaných stránek nastaven titul, tak o něj přijde. Tento fakt je třeba vzít v úvahu zvláště při úpravě pořadí stránek ve svazku. Jediný způsob jak se tomu vyhnout je - vyexportovat před operacemi se stránkami všechna skrytá textová data do samostatných souborů, upravit ručně a následně naimportovat pomocí djvused do cílového svazku. |
Volný svazek (indirect)
Volný svazek na rozdíl od pevného (bundled) svazku ( který je tvořen jediným souborem) tvoří hlavní DjVu dokument s indexem a adresář, ve kterém jsou uloženy jednotlivé stránky.
DjVu svazky lze z pevných na volné (a obráceně) převádět nástrojem djvmcvt
Při vytváření volného svazku musí cílový adresář - do kterého se budou při konverzi ukládat jednotlivé stránky - existovat |
Export stránky z DjVu
DjVuLibre nemá žádný speciální nástroj, kterým by bylo možné vyexportovat jednu stránku z DjVu svazku. Asi nejjednodušším způsobem je převést pevný svazek na volný a pak žádanou stránku samostatně použít.
Export vrstev
Pro export jednotlivých vrstev z DjVu svazku ( či single-page dokumentu ) se používá nástroj djvuextract Tyto jednotlivé vrstvy lze pak použít při tvorbě nových DjVu dokumentů viz předchozí kapitolu DjVu/Jak vytvořit DjVu dokument nástroji z DjVuLibre.
Export obrazové informace
Právě u exportu obrazové informace je důležité si uvědomit, že DjVu je formát ztrátový, tudíž z něj nelze obnovit soubor zcela identický s tím, ze kterého byla DjVu stránka vygenerována. Dokonce ani kdyby byla vyexportovaná obrazová informace znovu zpracována do DjVu souboru nelze dosáhnout stejného výsledku jako v případě originálu. Více v kapitole Djvu/Formát DjVu a zabezpečení.
Obrazovou informaci lze vyexportovat pomocí nástroje ddjvu. Při exportu lze zvolit:
- mód, ze kterého má být stránka vyrenderovaná
- rozlišení budoucího obrázku
- velikost vyexportovaného obrázku
- a případně pomocí dalších voleb ovlivnit kvalitu výsledného obrázku
Vyexportovat lze také libovolně zvětšený či zmenšený výřez, nejenom celou stránku. Podporované formáty do kterých lze provést export:
- pbm (černobílý), pgm (stupně šedi), ppm (plné barvy v RGB), pnm (formát, který může obsahovat kterýkoliv ze tří předcházejících)
- rle (černobílý)
- tiff plnobarevný formát, který ve výchozím stavu nemá nastavenou žádnou kompresi. Při exportu se snížením kvality se použije komprese JPEG
- pdf podobně jako tiff ve výchozím stavu nepoužívá žádnou ztrátovou kompresi, není-li parametrem nastavená snížená kvalita.
Export textových informaci a metainformací
Univerzálním nástrojem pro práci s textovou vrstvou je djvused, pro export těchto informací lze dále použít djvutxt resp. djvutoxml a pro import dat z upraveného xml souboru pak djvuxmlparser. Více se dozvíte v kapitole Textová vrstva DjVu dokumentu
Úpravy DjVu dokumentů
Aplikace OCR
for i in $(ls -1 *.xcf); do ./convert.sh $i && ocrodjvu --in-place -l ces out.djvu && mv out.djvu ${i/.xcf/.djvu} ; done
Změna orientace stránky
djvused -e 'select 6; set-rotation +45; save' vicestrankovy_soubor.djvu
Odstranění stránky ze svazku
djvm -d vicestrankovy_dokument.djvu -d 5
Změna pořadí stránek
Nejjednodušším způsobem, jak změnit pořadí stránek, je rozbalit svázaný (bundled) DjVu soubor do volného svazku (indirect), pak rozbalené soubory stránek přejmenovat, tak aby bylo pořadí stránek správné a poté dokument znovu svázat
mkdir vatra-28-1 djvmcvt -i vatra-28-1.djvu vatra-28-1 index.djvu
Vytažení textu pro korekturu přes WebDjVuTextEd
for i in $(ls -1 test*djvu); do djvutoxml $i ${i/.djvu/.xml}; done
Vygenerování náhledů pro WebDjVuTextEd
for i in $(ls -1 test*djvu); do ddjvu --format=tiff $i ${i/.djvu/.tiff} && convert ${i/.djvu/.tiff} ${i/.djvu/.png}; done
Vložení opravených textů zpět do djvu souborů stránek
for i in $(ls -1 test*djvu); do djvuxmlparser -o $i ${i/.djvu/.xml} ; done
Opětné svázání volného svazku do jednoho souboru
djvmcvt -b index.djvu ../vatra-28-1.djvu
Překlepy a velikost textových rámců lze udělat při finalizaci souboru přes djvusmooth. V něm lze také vytvořit anotace, hyperlinky a přidat další metainformace o původu dokumentu, jeho zpracování aj.