![如何通过命令行识别包含突出显示文本的 PDF 页面](https://linux22.com/image/213330/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E8%AF%86%E5%88%AB%E5%8C%85%E5%90%AB%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%E6%96%87%E6%9C%AC%E7%9A%84%20PDF%20%E9%A1%B5%E9%9D%A2.png)
假设一个 pdf 文档包含第 1、3 和 14 页上的文本突出显示。是否有一个 Linux 命令行工具(或一组其输出可以相互传送的工具)可以报告包含以下内容的页面的页码:突出显示的文本?就像是:
$ sought_tool --list-pages-with-highlights doc.pdf
1 3 14
答案1
漂亮的小 Python 库pdf注释完全具有所需的能力。
$ pdfannots doc.pdf
如果与grep
和结合使用awk
,可以产生所需的结果。
$ pdfannots doc.pdf | \
grep "* Page #" | \
awk -F':' '{print $1}' | \
awk -F'#' '{print $2}' | \
sort -u -n | \
paste -s -d ' '
1 3 14