Есть ли способ извлечь первую страницу каждого PDF в папке в один объединенный PDF? - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть несколько сотен PDF-файлов, которые мне нужно оторвать с первой страницы и затем выбросить в Tabula.

Я подумал, что это может работать с использованием комбинации PDFTK и Apple Terminal:

for file in desktop/test/*.pdf ; do pdftk *-page1.pdf cat output combined.pdf ; done

но я получаю результат:

Ошибка: невозможно найти файл.
Ошибка: не удалось открыть файл PDF: * -page1.pdf
Обнаружены ошибки.Выходные данные не созданы.
Готово.Ошибки ввода, поэтому вывод не создан.

Кажется, он ищет один конкретный файл, а не все PDF-файлы.Есть идеи?

1 Ответ

0 голосов
/ 27 апреля 2019

Вам нужно указать, из каких файлов взять страницу с помощью дескриптора. Например, если бы у вас было два файла, вы бы написали pdftk A=in1.pdf B=in2.pdf cat A1 B1 output out.pdf. Для многих файлов приведен скрипт для автоматической генерации командной строки.

handles=(); n=0; for i in *.pdf; do handles+=("`tr [0-9] [A-J] <<< $n`=$i"); ((n++)); done
pages=(); for i in `seq 0 $((n-1))`; do pages+=(`tr [0-9] [A-J] <<< $i`1); done
pdftk "${handles[@]}" cat ${pages[@]} output out.pdf
...