몇 가지 온라인 및 오프라인 도구를 시도했지만 변환 중에 TOC (정보 테이블) 정보가 보존되지 않았습니다.
나는 djvu 형식의 5000 페이지 핀란드어 사전을 변환하고 단어를 빨리 찾을 수 있도록 계층 적으로 구조화 된 약 5000 개의 목차 항목을 변환하려고합니다.
DJVU에서 PDF로 변환하는 동안 TOC 정보를 어떻게 보존 할 수 있습니까?
몇 가지 온라인 및 오프라인 도구를 시도했지만 변환 중에 TOC (정보 테이블) 정보가 보존되지 않았습니다.
나는 djvu 형식의 5000 페이지 핀란드어 사전을 변환하고 단어를 빨리 찾을 수 있도록 계층 적으로 구조화 된 약 5000 개의 목차 항목을 변환하려고합니다.
DJVU에서 PDF로 변환하는 동안 TOC 정보를 어떻게 보존 할 수 있습니까?
답변:
최신 정보: user3124688 스크립트에서이 프로세스를 코딩했습니다. dpsprep .
나는 당신을 위해 회심을 할 도구를 모른다. 확실히 할 수 있어야하지만 약간의 작업이 필요할 수 있습니다. 기본 과정을 개략적으로 설명하겠습니다. 오픈 소스 명령 행 유틸리티가 필요합니다. pdftk
과 djvused
(DjVuLibre의 일부). 패키지 관리자 (GNU / Linux) 또는 해당 웹 사이트 (Windows, OS X)에서 구할 수 있습니다.
먼저 DJVU 파일을 PDF (책갈피 없음)로 변환하는 도구를 사용하십시오.
파일이 호출되었다고 가정 해보십시오. filename.djvu
과 filename.pdf
.
다음으로 DJVU 개요 데이터를 다음과 같이 파일로 출력하십시오.
djvused "filename.djvu" -e 'print-outline' > bmarks.out
이 파일은 DJVU 문서 북마크를 직렬화 된 트리 형식으로 나열한 파일입니다. 사실 그것은 단지 SEXPR , 쉽게 파싱 할 수 있습니다. 형식은 다음과 같습니다.
file ::= (bookmarks
<bookmark>*)
bookmark ::= (name
page
<bookmark>*)
name ::= "<character>*"
page ::= "#<digit>+"
예 :
(bookmarks
("bmark1"
"#1")
("bmark2"
"#5"
("bmark2subbmark1"
"#6")
("bmark2subbmark2"
"#7"))
("bmark3"
"#9"
...))
이제이 책갈피를 PDF 메타 데이터에 필요한 형식으로 변환해야합니다. 이 파일의 형식은 다음과 같습니다.
file ::= <entry>*
entry ::= BookmarkBegin
BookmarkTitle: <title>
BookmarkLevel: <number>
BookmarkPageNumber: <number>
title ::= <character>*
그래서 우리의 예가 될 것입니다 :
BookmarkBegin
BookmarkTitle: bmark1
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: bmark2
BookmarkLevel: 1
BookmarkPageNumber: 5
BookmarkBegin
BookmarkTitle: bmark2subbmark1
BookmarkLevel: 2
BookmarkPageNumber: 6
BookmarkBegin
BookmarkTitle: bmark2subbmark2
BookmarkLevel: 2
BookmarkPageNumber: 7
BookmarkBegin
BookmarkTitle: bmark3
BookmarkLevel: 1
BookmarkPageNumber: 9
기본적으로, 당신은 SEXPR 트리를 걸어 다니며 레벨을 추적하고 그것이 나오는 각 항목의 이름, 페이지 번호 및 레벨을 올바른 형식으로 출력하는 스크립트를 작성해야합니다.
변환 된 목록이 있으면 변환 된 PDF 파일의 PDF 메타 데이터를 출력하십시오.
pdftk "filename.pdf" dump_data > pdfmetadata.out
이제 파일을 열고 시작하는 줄을 찾으십시오. NumberOfPages:
이 줄 뒤에 변환 된 책갈피를 삽입하십시오. 새 파일을 다음과 같이 저장하십시오. pdfmetadata.in
이제이 메타 데이터를 통합 한 새로운 PDF 파일을 만들 수 있습니다.
pdftk "filename.pdf" update_info "pdfmetadata.in" output out.pdf
파일 out.pdf
DJVU 파일에서 가져온 북마크가 포함 된 PDF 사본이어야합니다.
사용자 @pyrocrasty (감사합니다!)가 제공 한 매우 명확한 개요를 바탕으로 OCR 된 텍스트와 북마크 구조를 보존하는 DJVU를 PDF 변환기에 구현했습니다. 당신은 그것을 여기에서 찾을 수 있습니다 :
https://github.com/kcroker/dpsprep
OCR 데이터에 대한 승인은 우분투 포럼에서 @zetah로 이동합니다!
j.split('#')[1]
와(int(re.findall(r'\d+', j.split('#')[1])[0])+1)
그것은 훌륭하게 작동했습니다. 데비안 Jessie 필요 :sudo apt-get install pdftk djvulibre-bin python-pip ruby ruby-dev libmagickwand-dev; sudo pip install sexpdata; sudo gem install iconv pdfbeads