我有一个很长的演示文稿,包含多个部分。我想自动在每个部分拆分 PDF。
我知道beamer
命令。但是使用\includeonlylecture
会丢失全局页面和章节编号,因此每个讲座中的章节都会重新以章节编号 1 开始。
我怎样才能拆分 PDF 使得结果相当于 Latex 创建 PDF 后手动拆分 PDF?
答案1
我修改了这个 bash 脚本将 pdf 拆分成几个部分:
#!/bin/bash
infile=$1 # input pdf
[ -e "$infile" ] || exit 1 # Invalid args
pagenumbers=( $(pdftk "$infile" dump_data | grep -A1 '^BookmarkLevel: 1' | grep '^BookmarkPageNumber: ' | cut -f2 -d' ' | uniq) end )
titles=($(pdftk "$infile" dump_data | grep -B1 '^BookmarkLevel: 1' | grep '^BookmarkTitle: ' | cut -f2- -d' ' | sed -E -e 's/[[:blank:]]+/_/g') )
for ((i=0; i < ${#pagenumbers[@]} - 1; ++i)); do
section=$((i+1))
section=$(printf "%02d" $section)
a=${pagenumbers[i]} # start page number
b=${pagenumbers[i+1]} # end page number
[ "$b" = "end" ] || b=$[b-1]
pdftk "$infile" cat $a-$b output "${section}"_"${titles[i]}".pdf
done