PDF 북마크에서 확대/축소 정보를 제거하는 방법

PDF 북마크에서 확대/축소 정보를 제거하는 방법

링크할 때 문서가 표시되는 크기를 지정하는 것으로 보이는 책갈피(색인 및 문서 개요라고도 함)가 포함된 PDF 파일이 있습니다. Evince에서 파일을 보고 북마크를 클릭하면 Evince가 자동으로 확대/축소 수준을 변경하기 때문에 이를 알고 있습니다.

이는 ISO 32000-1:2008(섹션 12)에 문서화되어 있지만 이 동작은 마음에 들지 않습니다. 책갈피를 사용한 후 PDF 뷰어에서 문서를 동일한 확대/축소 수준으로 표시하고 싶습니다.

dconf의 비교적 새로운 키가 allow-links-change-zoom이 문제를 해결해야 합니다. 그러나 키를 로 설정한 후에도 falseEvince는 계속 이전 동작을 나타냅니다. (컴퓨터를 다시 시작해야 할 수도 있지만 지금은 최신 버전의 Evince에 액세스할 수 없기 때문에 이를 확인할 수 없습니다.)

그래서 PDF 파일의 북마크에서 확대/축소 정보를 제거하려고 노력해 왔습니다.

/XYZ사양에 나타나는 및 /Fit같은 키워드는 GoTo파일에 나타나지 않습니다. 어쩌면 북마크가 어떤 방식으로 인코딩되었을 수도 있습니다. 따라서 수동으로 또는 데이터를 삭제하는 방법은 sed작동하지 않는 것 같습니다.

작업을 어떻게 완료하나요?

답변1

pdftk실제로 타겟 키워드를 찾으려면 압축을 푼 파일을 사용해야 할 수도 있습니다 .

v1.7 PDF 표준 사본이 아직 있는 경우 섹션 8.2에서 구문에 대한 자세한 내용을 확인할 수도 있습니다. 목적지 지정에 관한 섹션이 도움이 될 수 있습니다.

다음은 PDF 북마크에서 확대/축소 요소를 제거하는 데 사용하는 작은 스크립트입니다.

#!/bin/bash

# decrypt the file
pdftk "$1" output decrypted.pdf && \
pdftk decrypted.pdf output uncompressed.pdf uncompress && \
# remove zoom factors in bookmarks
sed 's#/Fit#/XYZ#g' uncompressed.pdf > uncompressed_output.pdf && \
# compress the output
pdftk uncompressed_output.pdf output output.pdf compress && \
mv "$1" "$1.original" && \
mv output.pdf "$1" && \
rm decrypted.pdf uncompressed.pdf uncompressed_output.pdf

파일로 저장 removezoom.sh하고 실행 가능하게 만듭니다. 그럼 전화하면 돼

~$ ./removezoom.sh yourFile.pdf

편집하다:아, 죄송합니다. "PDF Reference, Sixth Edition"이라는 Adobe 형식 문서의 섹션 8.2를 언급하고 있었습니다. 원본 ISO 문서와 왼쪽, 오른쪽 형식이 다릅니다.의회 도서관 주장.

관련 정보