Aqui está o meu roteiro completo de trabalho. Ele precisa de djvulibre-bin
library para ddjvu
(decodificar para o formato tiff), cjb2
(porque eu não sei como converter diretamente o tiff para djvu), djvm
(para inserções / exclusões de páginas no arquivo djvu) ferramentas e imagemagick
library para a ferramenta convert
(para dividir a página e converter para o formato mystical pbm file format). Todas as bibliotecas disponíveis através de apt-get
.
Esquema:
file.djvu --./ddjvu--gt; bifold tiff --./convert--gt; página única tiff --./convert--gt; pbm --./djvm--gt; out.djvu
Exemplo: djvusplit 3 10 file.djvu
, que significa split pages from 3 to 10
.
código completo:
#!/bin/bash
echo Usage: djvusplit PAGEFROM PAGETO FILE.DJVU
#make temp folder
mkdir ./tmp
cp "$3" ./tmp/
cd tmp
for i in $(seq -w $2 -1 $1) # Descending
do
ddjvu -format=tiff -page=$i "$3" t$i.tiff
convert -crop 2x1@ t$i.tiff t$i-%d.tiff
convert t$i-0.tiff t$i-0.pbm
convert t$i-1.tiff t$i-1.pbm
cjb2 t$i-0.pbm t$i-0.djvu
cjb2 t$i-1.pbm t$i-1.djvu
djvm -i t$i-0.djvu t$i-1.djvu 2
djvm -d $3 $i
djvm -i $3 t$i-0.djvu $i
rm ./t*
done
# total clean
mv $3 ../out.djvu
cd ..
rm -r ./tmp
Infelizmente ...
- Funciona devagar porque gera muitos arquivos tiff / pbm / djvu.
- A página dividida perde todo o texto do OCR.
Eu uso este script com outros para manter minha biblioteca eletrônica. Eles localizaram aqui no GitHub.