Extrai várias páginas de um arquivo djvu

3

Eu tenho um arquivo djvu de várias páginas. Gostaria de saber como extrair um novo arquivo djvu que consiste em apenas um subconjunto de várias páginas?

Por exemplo, um arquivo djvu tem 10 páginas e eu gostaria de extrair um novo arquivo djvu que consiste nas páginas 3-6 do arquivo djvu original. Pode ser feito com alguns comandos de djvulibre, como djvused, djvm, ...? Eu estou usando o Ubuntu Linux.

Considere dois casos diferentes: extraia sem remover as páginas do arquivo djvu original e extraia sem removê-lo.

Obrigado!

    
por Tim 13.09.2011 / 05:27

3 respostas

3

Não encontrei nenhuma maneira de salvar explicitamente um intervalo de páginas, por isso optei por excluir o restante.

# Extract and save each page in its own file
pages=$(djvused -e 'n' "$if")
for ((i=1; i<=$pages; i++)) ;do
    of="${if%.*}.$(printf "%03d" $i).djvu"
    djvused -e "select $i; save-page-with \"$of\"" "$if"
done
# Remove one page from an existing djvu file
djvm -delete "$if" 2 # remove page 2
# Save pages 3-6 to a new file, by removing 
#   all other pages from a copy of the original
from=3; to=6
of="${if%.*}.$from-$to.djvu"
cp "$if" "$of"  
pages=$(djvused -e 'n' "$of")
for ((i=$pages; i>$to; i--)) ;do  djvm -delete "$of" $i ;done
for ((i=1;    i<$from; i++)) ;do  djvm -delete "$of" 1  ;done
    
por 13.09.2011 / 09:04
3

Eu só iria usar: DjVuLibre DjView 4,5 Viewer para documentos DjVu. Seu GUI tem um Salvar como função em Arquivo menu e não se pode poupar um determinado intervalo de páginas em arquivo djvu.

    
por 16.01.2012 / 18:24
1

Uma série mais simples de instruções shell para obter a divisão do DjVU em pacotes:

mkdir -- 'mydoc/' &&
djvmcvt -i 'mydoc.djvu' 'mydoc/' 'new-mydoc-index.djvu'
    
por 29.12.2016 / 21:03