Бесплатный редактор PDF для Windows и Linux — pdftk

Несколько недель назад понадобилось мне кое-что поменять в чертежах, которые были в виде pdf-альбома представлены. Файл pdf не был закрыт от редактирования к слову. Казалось бы — задача примитивная, но не тут-то было. Перепробовал около десятка различных бесплатных и условно-бесплатных pdf-редакторов — всё без толку. Некоторые «редакторами» только называются — на деле не могут вообще ничего. Другие вроде позволяют изменения внести, но лепят всюду свои надписи типа «отредактировано в таком-то pdf редакторе», что мне тоже совсем ни к чему. А чем можно банально разбить альбом на страницы — я вообще не понял.

Помощь, как часто бывает, пришла из мира open source — была найдена бесплатная консольная утилита для редактирования PDF — pdftk (кроссплатформенная, под Linux и Windows точно есть), позволющая редактировать pdf в широких пределах. Для любителей графики — и под Linux, и под Window у pdftk есть графические интерфейсы (GUI). Меня же как раз больше привлекла консольность — можно в пакетном режиме обрабатывать сразу несколько файлов. Ей я вырезаю или вклеиваю нужные листы в альбомы чертежей, а сами изменения делаю в обычно графическом редакторе (чаще в сего — в Gimp).

Что умеет редактор pdftk

  • Разбивать pdf-файл на страницы или склеивать его из отдельных файлов в альбом (можно вырезать или вклеить нужные страницы в существующий файл);
  • Запароливать pdf-файлы или наоборот снимать защиту, поддерживается шифрование и задание паролей на редактирование или только на чтение — обработка защищенных pdf;
  • Заполнять формы в pdf-файлах в автоматическом режиме;
  • Добавлять к страницам pdf-файла водяной знак, поворачивать страницы документа c шагом 90 градусов;
  • Обрабатывать метаданные pdf-файла — читать, изменять и перезаписывать.
  • Восстанавливать повреждённые pdf-документы

Список возможностей довольно исчерпывающий, лично мне зачастую хватает опций по вырезанию из pdf нужных страниц, которые я затем редактирую в Gimp, как писал выше, и вклеиваю обратно в исходный pdf-файл. Так что различные платные редакторы pdf для меня стали бесполезны, а с учетом наличия графического интерфейса для pdftk — разобраться с ней ничуть не сложнее, даже если ничего не понимать в консольных командах.

Основные консольные ключи pdftk

  • cat (<исходный PDF> [<номер начальной страницы диапазона>[-<номер конечной страницы диапазона>[<определитель>]]][<поворот страницы>]) — вырезает из pdf-документа указанные страницы (или их диапазон) и сохраняет их в выходном документе. Определитель even укажет вырезать только чётные страницы, лежащие внутри заданного диапазона, а определитель odd — только нечётные (например задав диапазон 1-8even — вырежем страницы 2, 4, 6 и 8). Поворот страниц задаётся опциями — N: 0 градусов, E: 90 град., S: 180 град., W: 270 град. — абсолютные значения ориентации страницы. Поворот от текущего положения — L: -90, R: +90, D: +180. Тогда чтобы повернуть все страницы документа на 90 градусов по часовой стрелке, достаточно указать диапазон как 1-endR. Объединяются файлы или страницы тоже при помощи cat: pdftk in1.pdf in2.pdf cat output out1.pdf. В результате получим: in1.pdf + in2.pdf = out1.pdf
  • stamp, multistamp — служат для добавления водяных знаков к страницам документа.
  • dump_data, dump_data_utf8 — разбирают входной pdf-файл на составляющие (метаданные, статистика, закладки, названия страниц), которые будут сохранены в обычном текстовом виде.
  • encrypt_128bit — позволяет закрыть файл от редактирования при помощи пароля владельца (задаётся через опцию owner_pw), а при помощи опции allow можно задать права работы с файлом для непревилигированных пользователей.

Таков краткий список консольных ключей pdftk, которыми я пользовался на практике. Конечно это далеко не все возможные параметры вызова программы, так что желающие знать больше — man pdftk (под Windows есть html-файл со справкой или краткая справка через вызов pdftk /?) — там помимо прочего есть очень наглядные примеры различных вариантов использования утилиты, благодаря чему графический интерфейс для неё не особо и нужен.

Примеры использования pdftk

Несколько примеров по консольному использованию pdftk для решения тех задач, с которыми я сталкивался. Задача первая — нужно было объединить множество одностраничных pdf-файлов в один общий альбом, чтобы удобно его просматривать и печатать, для этого используется следующая команда:

pdftk *.pdf cat output new_album.pdf

Вторая задача — в полученном альбоме мне нужно было повернуть первую страницу на 90 градусов против часовой стрелки, а все остальные — тоже на 90 градусов, но уже по часовой. Это можно сделать следующим образом:

pdftk new_album.pdf cat 1L 2-endR output new_rotated_album.pdf

Графический интерфейс для редактора pdftk

Универсальный кросс-платформенный (Linux и Windows) графический интерфейс для pdftk называется незамысловато — Gui for PDFTK и поддерживает все опции, доступные при вызове редактора из командной строки. В принципе особой необходимости в нём нет, но если хочется именно графической оболочки — можно воспользоваться им (из альтернатив существуют чисто Линуксовый PDF Chain или PDFTK Builder, работающий исключительно под Windows; набор возможностей у них одинаковый).

Из недостатков Gui for PDFTK могу отметить то, что Linux-версия основана на древней библиотеке libgtk-1.2, из-за чего выглядит она корявенько и требует наличия этой самой библиотеки (которую не во всех современных дистрибутивах можно найти). Windows-версия этого недостатка лишена и выглядит как любое другое Windows-приложение.

Вот пример окна Gui for PDFTK под Ubuntu:
Графический интерфейс бесплатного редактора pdftk в Ubuntu



Category Рубрики: *NIX | Tag Метки: , , | Comments Комментариев нет »

Добавить комментарий