gpt4 book ai didi

linux - 通过书签拆分 PDF?

转载 作者:IT王子 更新时间:2023-10-29 00:23:22 28 4
gpt4 key购买 nike

我要处理通过“合并”多个 PDF 创建的单个 PDF。每个合并的 PDF 都有 PDF 部分开始显示的地方带有书签。

有什么方法可以通过脚本自动将书签拆分?

我们只有书签来表示部分,没有页码,所以我们需要从书签中推断出页码。 Linux 工具将是最好的。

最佳答案

pdftk可以用来分割PDF文件,提取书签的页码。

获取书签的页码

pdftk in.pdf dump_data

并让您的脚本从输出中读取页码。

然后使用

pdftk in.pdf cat A-B output out_A-B.pdf

获取A到B的页面到out_A-B.pdf。

脚本可能是这样的:

#!/bin/bash

infile=$1 # input pdf
outputprefix=$2

[ -e "$infile" -a -n "$outputprefix" ] || exit 1 # Invalid args

pagenumbers=( $(pdftk "$infile" dump_data | \
grep '^BookmarkPageNumber: ' | cut -f2 -d' ' | uniq)
end )

for ((i=0; i < ${#pagenumbers[@]} - 1; ++i)); do
a=${pagenumbers[i]} # start page number
b=${pagenumbers[i+1]} # end page number
[ "$b" = "end" ] || b=$[b-1]
pdftk "$infile" cat $a-$b output "${outputprefix}"_$a-$b.pdf
done

关于linux - 通过书签拆分 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601844/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com