Manipulace se stránkami DjVu dokumentu

Z thewoodcraft.org
Stránka byla naposledy editována 17.8.2023

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.

Upozornění 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

Upozornění 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:

  1. mód, ze kterého má být stránka vyrenderovaná
  2. rozlišení budoucího obrázku
  3. velikost vyexportovaného obrázku
  4. 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.

Šablona:Pozn


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.