직원 이름과 해당 문서가 PDF 형식으로 포함된 일련의 폴더가 있습니다. PDF 문서가 PDF 파일의 북마크로 색인화되는 PDF 파일을 병합하고 생성하고 싶습니다.
PDFTK를 사용하여 폴더의 PDF를 병합하려고 하지만 출력이 북마크에 추가되지 않습니다.
답변1
이 목적을 위해 스크립트를 만들었습니다. .pdf
heredoc를 수정하여 확장을 유지하도록 선택할 수 있습니다 .
#!/usr/bin/env zsh
pages=1
bookmarks="bookmarks.txt"
tmp_pdf="tmp.pdf"
if [ -f $bookmarks ]; then
read -p "Do you want to overwrite the bookmarks file? [y/N] " -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]; then
rm $bookmarks
else
echo "Aborting..."
exit 1
fi
fi
for pdf in *.pdf; do
cat <<- EOF >> $bookmarks
BookmarkBegin
BookmarkTitle: ${pdf%.pdf}
BookmarkLevel: 1
BookmarkPageNumber: $pages
EOF
page_number=$(pdftk $pdf dump_data | rg 'NumberOfPages: ' | awk '{print $2}')
pages=$(($pages + $page_number))
done
pdftk *.pdf cat output $tmp_pdf
pdftk $tmp_pdf update_info $bookmarks output final.pdf
rm -f $tmp_pdf
rm -f $bookmarks
아이디어는 다음과 같습니다.
- 북마크가 포함된 pdftk 정보 파일 만들기
- pdftk cat을 호출하여 연결하세요.
- 북마크를 추가하려면 updateinfo를 호출하세요.
- 임시 파일을 삭제하고 완료합니다.