그리고qpdf

그리고qpdf

PDF 파일이 있습니다. 이 파일의 북마크를 텍스트 파일이나 Excel 스프레드시트로 추출해야 합니다. 또한 대용량 PDF 파일의 북마크를 확인해야 합니다. 어떻게 해야 하나요?

답변1

당신은 그것을 사용할 수 있습니다pdftkPDF 파일에서 데이터(특히 북마크)를 추출합니다.

예:pdftk 2.02를 사용하여,

pdftk file.pdf dump_data_utf8 | grep '^Bookmark'

북마크 목록을 출력합니다. 각 북마크에는 4줄이 있으며 형식은 다음과 같습니다.

BookmarkBegin
BookmarkTitle: <title in UTF8>
BookmarkLevel: <number>
BookmarkPageNumber: <number>

예를 들어 수준 1은 섹션에 해당하고 수준 2는 하위 섹션에 해당하는 식입니다. dump_data_utf8대신 를 사용하면 dump_dataASCII가 아닌 문자(예: &#232;"è")에 대한 HTML/XML 숫자 엔터티를 제공할 수 있습니다.

참고: 그렇지 않은 경우 grep메타데이터(생성 날짜, 작성자, 키워드, 제목 등), 페이지 수 및 각 페이지 크기와 같은 다른 흥미로운 데이터를 얻을 수 있습니다. pdftk 유틸리티는 PDF 파일에 대해 다른 작업을 수행할 수 있습니다.매뉴얼 페이지완전한 설명을 보려면.

답변2

그리고qpdf

이렇게 하면 시작됩니다.

qpdf --json your.pdf | jq '.objects' | grep -Po 'Title": \K.*'

그러나 이 명령은 PDF의 헤더도 생성합니다.

보세요qpdf 매뉴얼JSON 출력 정보.

grep다음을 사용하여 명령을 단순화하고 제거할 수 있다고 확신합니다.jq의 와일드카드.

답변3

CLI를 사용할 수 있습니다jpdf 조정CSV 형식으로 북마크 추출:

java -jar -Xmx512M jpdftweak.jar "file.pdf" -savebookmarks "bmarks.csv" /dev/null

북마크 데이터를 확인하고 수정한 후 다음 명령을 사용하여 PDF 파일로 다시 로드할 수 있습니다.

java -jar -Xmx512M jpdftweak.jar "file.pdf" -loadbookmarks "bmarks.csv" "file_updated.pdf"

Java 매개변수 -Xmx512M는 선택사항이지만 더 많은 메모리가 필요한 대용량 PDF 파일에 도움이 될 수 있습니다.

당신은 읽고 싶을 수도 있습니다이와 관련된 질문과 답변게다가.

관련 정보