Как мне пакетно извлечь первую страницу из нескольких PDF-файлов

587
Emily Ward

Я знаю, что есть другая ветка с множеством ответов на этот вопрос; тем не менее, я новичок, и многое из этого было для меня бредом. Я пытаюсь учиться, хотя :)

Во всяком случае, я установил ghostscript и попытался запустить его несколько раз с помощью этого сценария

for file in *.pdf ; do gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \ -sOutputFile="$-page1.pdf" -dFirstPage=1 -dLastPage=1 "$file" ; 

Я получил этот сценарий отсюда .

Я действительно не знал, куда поместить имя каталога, из которого я хотел, чтобы программа извлекала пакет, ни имя выходного файла, ни каталог вывода. Я понимаю, что это основная вещь для большинства вас, но если бы кто-нибудь мог мне помочь, вы бы спасли меня, вероятно, годы работы.

Спасибо!

0

1 ответ на вопрос

0
AFH

Каталог, в котором находятся файлы PDF, является текущим каталогом, поскольку for files in *.pdf ; ...не указывает путь к каталогу для соответствующих файлов.

Выходной файл формируются из "$file"с bashрасширением "$-page1.pdf", которое удаляет .pdfс конца имени файла и заменяет его -page1.pdf, так что, например, report.pdfгенерирует выходной файл report-page1.pdfв том же каталоге.

Вы можете добавить в каталог путь к каталогу for, например,for files in SourceDir/*.pdf ; ...

Вы можете изменить строку замены; или вы можете добавить каталог в начало, хотя подстановка становится более сложной, если вы используете путь к каталогу в forпредложении.

Вы должны прочитать о расширении параметров в bashруководстве.

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