inf*_*mer 5 command-line pdf batch pdftk
我在一个文件夹中有 90 个子文件夹。每个子文件夹都包含 pdf 文件。pdf 文件总数接近 2200。如何从所有 pdf 中提取第 3 到 10 页?
要从一个 pdf 中提取页面,我使用以下命令。
pdftk *.pdf cat 3-10 output 3-10.pdf
Run Code Online (Sandbox Code Playgroud)
这一衬里(为了便于阅读分为 2 行)经过测试,在我的系统上运行良好:
find . -name '*.pdf' -type f -exec bash -c \
'pdftk "$0" cat 3-10 output "${0%.pdf}_3-10.pdf"' {} \;
Run Code Online (Sandbox Code Playgroud)
只需在基本文件夹(包含所有子文件夹的文件夹)中打开一个终端窗口,然后复制并粘贴上面给出的整个单行命令。它会:
_3-10添加的原始名称这应该可以巧妙而经济地实现您的目的......
变化:
您可以选择提供不同的输出位置来收集所有更改的 pdf 文档。例如,您可以创建一个名为的文件夹~/extracted并将上面的命令行更改为以下内容:
find . -name '*.pdf' -type f -exec bash -c \
'pdftk "$0" cat 3-10 output "~/extracted/${0%.pdf}_3-10.pdf"' {} \;
Run Code Online (Sandbox Code Playgroud)
因此,所有更改过的 pdf 文件都会出现在~/extracted.
无限可能 :)。