воскресенье, 6 октября 2013 г.

Pdftk - редактор pdf для командной строки. Часть 1 -- Примеры команд.

Pdftk - это утилита для командной строки, которая позволяет склеивать несколько pdf-файлов в один, разделять pdf-файл на страницы, накладывать один pdf на другой. и т.п.

Далее будут рассмотрены примеры использования pdftk, которые я наиболее часто применяю.
Если pdftk у Вас ещё не установлен, то его можно установить из стандартных репозиториев.
Например, в openSUSE нужно от имени администратора ввести в терминале команду:

  zypper in pdftk


Как использовать pdftk --- см. под кат.


Для начала рассмотрим формат вызова команды. Более подробно можно узнать по man pdftk. Pdftk вызывается следующим образом:

  pdftk входной_файл команда опции_команды output выходной_файл


Входной файл -- здесь пояснения не нужны.

Команда --- это может быть одна из многих команд редактирования pdf:

Например cat - объединяет и разделяет файлы;
                  stamp - накладывает на все страницы штапм;
                  multistap - напкладывает один pdf на другой постранично. Первую страницу -
                 на первую, вторую - на вторую и т.д.
И ещё многие другие команды. Каждая команда имеет свои опции.

output -- за этой командой заканчивается список опций команды и следует имя выходного файла pdf, в который записываются изменения.

1. Выборка страниц из pdf.
Для этого служит команда cat. Ниже идут примеры вызова pdftk для различных задач выборки страниц.

Записать из файла input.pdf в файл output.pdf третью страницу:

  pdftk input.pdf cat 3 output output.pdf


Вместо 3 здесь подставить нужную страницу.

Записать   из файла input.pdf в файл output.pdf  страницы с третьей по восьмую. Похоже на предыдущую команду, но диапазон страниц задаётся через дефис.

  pdftk input.pdf cat 3-8 output output.pdf

Для указания первой и последней страниц  документа служат слова begin и end соответсвенно
Например,  чтобы записать   из файла input.pdf в файл output.pdf  страницы с первой по восьмую:

  pdftk input.pdf cat begin-8 output output.pdf


И с пятой до последней страницы:

  pdftk input.pdf cat 5-end output output.pdf


2. Простой штамп.

Например, нужно наложить на каждую страницу файла article.pdf штамп из файла stamp.pdf. Для этого используем команду:

  pdftk article.pdf stamp stamp.pdf output.pdf


Команда накладывает штамп, который у нас хранится в файле stamp.pdf на все страницы файла input.pdf.

3. Многостраничный штамп

Многостраничный штамп позволяет наложить один PDF на другой постранично: первую страницу на первую, вторую --- на вторую и т.д. Применяется например для автонумерации страниц, если исходный PDF не имеет номеров страниц. Чтобы применить многостраничный штамп stamp.pdf к документу article.pdf нужно использовать следующую команду:

  pdftk article.pdf multistamp stamp.pdf output.pdf

4. Подсчёт страниц PDF-файла

Команда pdfinfo содержится в пакете poppler-tools. Если вызвать :

pdfinfo имя_файла.pdf


то в консоль выведется различная информация о нашем файле PDF. Извлечь оттуда количество страниц в PDF файле можно следующим однострочником:

pdfinfo input.pdf|grep Pages|sed -e 's@^Pages:@@' -e 's/^[ \t]*//'


Если выполнить это в терминале, то напечатается количество страниц в файле input.pdf.

Во второй части будет приведён скрипт для автонумерации страниц в файле PDF.

Комментариев нет:

Отправить комментарий