Возможный извлечь заголовок и pagenum каждой страницы в файле PDF

Я мог бы неправильно понимать вопрос, но являюсь там причиной, Вы не можете использовать это?

tail -f /location/of/thefile | grep -i -E "foo|bar"

3
10.03.2019, 06:29
1 ответ

Следующий сценарий распечатает первую строку каждой страницы файла PDF, переданного как аргумент, сопровождаемый пространством и номером строки... Это использует инструменты от Poppler (пакет poppler-utils на Debian или Ubuntu).

#!/bin/bash
if="$1"
pages=$(pdfinfo "$if" | sed -nre 's/^Pages: +([0-9]+)$/\1/p')
for ((i=1; i<=$pages; i++)) ;do
    printf "%s %d\n" "$(pdftotext -f $i -l $i -layout "$if" - | head -n 1)" $i
done
4
27.01.2020, 21:20
  • 1
    Спасибо!, Что означает "psuedo"? –  Tim 10.09.2011, 07:51
  • 2
    Если заголовок страницы имеет одну или две строки, который возможен быть обнаруживаемым? Обратите внимание, что файл PDF сгенерирован от форматов представления, таких как powerpoint. –  Tim 10.09.2011, 08:09
  • 3
    Здесь psuedo конкретно не относится для psuedo-кодирования. Я использовал его в нормальном (английском) смысле. Я просто подразумевал, что это не фактический аргумент командной строки, но это будет служить той же цели... О многострочном заголовке: я сейчас посмотрел на презентацию PowerPoint, которую я преобразовал в PDF. Первая строка, фильтрованная вышеупомянутым сценарием, является первой строкой первого текстового поля любой данной страницы. pdftotext метод не имеет никакого способа знать, содержит ли инициирующее поле новую строку. –  Peter.O 10.09.2011, 09:51
  • 4
    Это записало псевдо, и я брал на себя смелость удаления той части так или иначе, поскольку это сбивало с толку, даже когда записано правильно. –  Gilles 'SO- stop being evil' 10.09.2011, 23:22

Теги

Похожие вопросы