首页 > 解决方案 > 使用 Python 或 Bash 删除 PDF 的最后一页

问题描述

我有大约 500 个 PDF,其中不需要最后一页。我可以使用任何使用命令行的工具编写脚本,该工具可以遍历所有文件、删除最后一页并保存新文件吗?

我在互联网上进行了研究,pdftk 是最可行的选择,但它不再适用于 Ubuntu。

帮助将不胜感激。

谢谢

标签: pythonlinuxbashpdfedit

解决方案


您可以使用pdfinfo以从 pdf 中获取页数并ghostscript删除最后一页:

#!/bin/bash

for file in *.pdf
do
    page_nb=$(pdfinfo $file | awk '/^Pages/ { print $2 }')

    file_name=$(echo $file | cut -d'.' -f 1)

    gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dFirstPage=1 -dLastPage=$(expr $page_nb - 1) -sOutputFile=$file_name"_without_last_page.pdf" $file
done

推荐阅读