djvu 파일에서 여러 페이지 추출

djvu 파일에서 여러 페이지 추출

다중 페이지 djvu 파일이 있습니다. 여러 페이지의 하위 집합만 포함된 새 djvu 파일을 추출하는 방법을 알고 싶습니다.

예를 들어, djvu 파일이 10페이지로 구성되어 있고 원본 djvu 파일의 3~6페이지로 구성된 새 djvu 파일을 추출하고 싶습니다. djvused, djvm 등과 같은 djvulibre의 일부 명령으로 수행할 수 있나요? 저는 우분투 리눅스를 사용하고 있습니다.

원본 djvu 파일에서 페이지를 삭제하지 않고 추출하는 것과 삭제하지 않고 추출하는 두 가지 시나리오를 고려하십시오.

감사해요!

답변1

페이지 범위를 명시적으로 저장하는 방법이 없어서 나머지 페이지를 삭제하기로 결정했습니다.

# 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

답변2

나는 단지 다음을 사용하고 싶습니다 :DjVuLibre DjView 4.5DjVu 문서 뷰어. GUI에는다른 이름으로 저장아래의 기능문서주어진 페이지 범위를 djvu 파일에 저장하는 메뉴입니다.

답변3

번들로 포함된 DjVU 분할을 구현하기 위한 일련의 간단한 쉘 명령문:

mkdir -- 'mydoc/' &&
djvmcvt -i 'mydoc.djvu' 'mydoc/' 'new-mydoc-index.djvu'

관련 정보