ddjvu (DjVuLibre)
Dekodér DjVu souborů, jehož výstupem je bitmapový soubor dekódované obrazové vrstvy.
Umožňuje na základě předaných voleb dekódovat nejenom celý DjVu dokument, ale i vybranou parametricky definovanou část obrazové vrstvy, takže se dá využít i k vytvoření jednoduché čtečky DjVu souborů.
Použití ddjvu
ddjvu [ -format=formát_výstupu ] [ volby ] [ vstupní_djvu_soubor ] [ výstupní_soubor ]
Pokud není jméno výstupního souboru uvedeno, nebo je-li místo něj uvedená pomlčka (-) je výstup automaticky přesměrován na standardní výstup, který lze pomocí roury předat k dalšímu zpracování.
To však neplatí pro všechny výstupní formáty. Při exportu do PDF nebo TIFFu musí být uvedeno jméno výstupního souboru vždy. |
Výhodou ddjvu je, že může přijímat vstupní data přes rouru (|). V takovém případě je třeba místo cesty ke vstupnímu DjVu souboru uvést pomlčku (-).
Podporované výstupní formáty
- -format
- Pokud není tato volba uvedena vůbec, dekóduje ddjvu pouze první stránku předaného dokumentu, s výchozím nastavením volby
-scale=100
. Jinak jsou podporovány následující formáty:- pbm výstupem bude černobílý obraz ve formátu PBM
- pgm výstup bude ve stupních šedi, ve formátu PGM
- ppm výstup bude v indexovaných barvách, ve formátu PPM
- pnm výstup bude v RGB barvách, ve formátu PNM
- rle proudový výstup v RLE formátu (viz csepdjvu)
- tiff výstup lze uložit pouze do multipage souboru, která bude ve formátu TIFF
- pdf výstup lze uložit pouze do vícestránkového souboru, který bude ve formátu PDF
Rozsah exportovaných stránek
- -page
- Pokud není specifikován rozsah stránek, jsou postupně dekódovány všechny stránky dokumentu, a jako proud dat zapsány do výstupního souboru. Rozsah stránek lze specifikovat buď konkrétními pořadovými čísly požadovaných stránek, oddělených čárkami, či případně rozsahem, kdy je pořadové číslo stránky kterou má rozsah začínat následováno pomlčkou a pořadovým číslem stránky, kterou má příslušný rozsah končit.
Je-li rozsah uveden obráceně (tj. vyšší číslo následuje nižší), budou stránky exportovány v obráceném pořadí |
- -eachpage
- Je-li uvedena tato volba, nebudou všechny stránky uoženy do jednoho souboru, ale rozděleny do samostatných souborů. Ty budou pojmenovány a očíslovány dle specifikace %d v názvu cílového souboru. Specifikace pro %d je podobná jako při použití příkazu printf Viz příklad:
ddjvu -format=rle -page=4-12 -eachpage soubor%04d.rle
Výstupem budou vyexportované stránky 4 až 12, kdy jména osmi cílových souborů budou:
|
- -skip
- Tato volba potlačí výchozí chování dekodéru v případě, kdy narazí na poškozenou DjVu stránku. Za normálních okolností se proces zpracování přeruší. Při této volbě se poškozená stránka přeskočí, a zpracování pokračuje další stránkou DjVu dokumentu.
Volba exportované vrstvy
- -mode
- Určuje s jakou vrstvou DjVu souboru se má při dekódování pracovat:
- color (default) na výstupu byde plnobarevný obraz
- black vyexportuje černobílou kresbu
- mask bude se exportovat pouze bitonální maska
- foreground vyexportuje pouze vrstvu popředí
- background vyexportuje pouze vrstvu pozadí
Volba která ovlivňuje kvalitu exportovaného obrazu
- -quality
- Nastavení výstupní kvality exportovaného obrazu dává smysl pouze v případě výstupu do souborů ve formátu TIFF a PDF.
Volby které ovlivňují parametry exportovaného obrázku
- -n
- Na místě n může být uvedena celočíselná hodnota, v rozmezí od 1 do 12, kterou lze ovlivnit přepočet rozměru výstupního obrázku, vůči rozměru původního DjVu dokumentu. Hodnota -1 tedy znamená, že velikost obrázku na výstupu bude stejná jako byla velikost DjVu dokumentu. Alternativně lze místo tohoto zápisu použít volbu
-subsample=
n.
- -scale
- Nastavuje relativní zvětšení (či zmenšení) obrazu vůči rozlišení nastavenému v rámci DjVu dokumentu. Je-li kupř. uvedena hodnota 100, bude výsledek odpovídat zobrazení obrazu na zobrazovacím zařízení (displeji), který má 100 dpi.
- -size
- Určuje rozměry WxH výstupního obrazu. Pokud nemá být striktně dodržen poměr stran, je třeba uvést také volbu
-aspect=no
. - -aspect
- Hodnotou této volby může být buď yes (výchozí hodnota), nebo no. V podstatě se tak dá jednoznačně najevo, jestli se má při přepočtu velikosti exportovaného obrazu zachovat poměr stran, nebo ne.
Specifikace vybraného segmentu
- -segment
- Vypreparování výřezu z celé vyrenderované stránky je zbytečně zdlouhavá operace, kterou lze obejít určením konkrétního segmentu, určeného souřadnicemi levého dolního rohu (bod nula je u DjVu dokumentů v levém dolním rohu stránky) X a Y a šířkou a výškou vybrané oblasti (WxH). Tyto parametry se volbě předají ve formátu: WxH+X+Y
ddjvu -format=pbm -page=4 -segment=100x100+400+600 -mode=black -size=800x800 -aspect=no vyrez.pbm
Výstupem tohoto příkazu bude bude vyseparovaná černobílá oblast o velikosti 400x600 pixelů, ze strany 4, která se nachází 100 pixelů od levého a spodního okraje. Deformovaná do černobílého čtverce o straně 800 pixelů. Pokud by parametr -aspect
uveden, nebo měl hodnotu yes, byla by zvětšený a zbylí oblast cílového obrázku vyplněna (bílou, nebo černou?) barvou.