В данной статье хотелось бы рассказать о полезной консольной утилите pdftk для работы с PDF файлами. Хотя если быть точным, то это скорее всего комбайн, который может делать очень многие полезные вещи.
Возможности программы:
умеет объединять и разделять PDF файлы
умеет извлекать или добавлять вложения
умеет добавлять и удалять нужные/ненужные файлы
умеет шифровать и расшифровывать документ
умеет поворачивать документ на 90° или 180°
есть возможность восстановить поврежденный документ
умеет добавлять «водяные знаки» либо другие знаки на передний план документа.
Пришлось немного изучить данную утилиту для работы с PDF файлами в моей любимой «малинке». Raspberry PI 3 конечно же не сравниться с ноутбуками Acer, но для моих рабочих нужд хватает. Итак, установим pdftk в Ubuntu/Linux Mint/Elementary OS/ Raspberry PI и т.д. командой в Терминале:
sudo apt-get install pdftk
Теперь рассмотрим несколько примеров использования утилиты.
Для объединения нужных PDF файлов, например 1.pdf 2.pdf 3.pdf и так далее, выполним команду:
pdftk 1.pdf 2.pdf 3.pdf cat output newfile.pdf
В итоге у нас получится новый файл newfile.pdf. Но перед этим естественно вы должны перейти в Терминале в каталог с нужными файлами. Например наши файлы находятся в Домашнем каталоге в папке Documents. Перейдем в эту папку командой:
cd ~/Documents
Ну а теперь можно выполнять любые манипуляции с PDF файлами. Чтобы объединить все файлы, не перечисляя их, нужно выполнить команду:
pdftk *.pdf cat output newfile.pdf
Если нам нужно вытянуть из документа input.pdf только страницы с 5 по 10, то нужно выполнить команду:
pdftk input.pdf cat 5-10 output output.pdf
В итоге мы получим документ output.pdf со страницами 5-10.
А если нужно вытянуть страницы, например, 1, 6, 9, 10, то команда будет следующей:
pdftk input.pdf cat 1 6 9 10 output output.pdf
Если нужно разбить многостраничный файл на одиночные страницы, то нужно выполнить простую команду:
pdftk 11.pdf burst
В итоге файл 11.pdf будет разбит на множество одиночных страниц.
Как удалить ненужные страницы? Допустим у нас есть документ, в котором есть 24 страницы. Если нужно удалить из документа 11.pdf страницы 1-7, 23, то выполним команду:
pdftk 11.pdf cat 8-22 24-end output New.pdf
В итоге мы получим новый документ New.pdf без ненужных страниц.
Чтобы попробовать восстановить «битый» файл broken.pdf выполним команду:
pdftk broken.pdf output new.pdf
Чтобы повернуть все страницы на 180 градусов нужно выполнить:
pdftk 11.pdf cat 1-endsouth output mypdf.pdf
Чтобы повернуть все страницы на 90 градусов по часовой стрелке нужно выполнить:
pdftk 11.pdf cat 1-endeast output mypdf.pdf
Чтобы повернуть все страницы на 90 градусов против часовой стрелки нужно выполнить:
pdftk 11.pdf cat 1-endwest output mypdf.pdf
Чтобы добавить «водяной знак» в документ, нужен PDF файл с логотипом или надписью, например bg.pdf. Теперь выполним команду:
pdftk 11.pdf background bg.pdf output output_bg.pdf
В итоге на всех страницах созданного файла output_bg.pdf должен появится «водяной знак» из файла bg.pdf. Но я так и не смог добиться пока положительного результата.
Про многие другие возможности программы вы узнаете почитав мануал:
man pdftk
p.s. Кстати, у утилиты pdftk есть графическая обертка — pdfchain
sudo apt-get install pdfchain