
У даній статті хотілося б розповісти про корисної консольної утиліти 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. Перейдемо в цю папку командою:
Ну а тепер можна виконувати будь-які маніпуляції з 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. Але я так і не зміг домогтися поки позитивного результату.
Про багато інших можливостей програми ви дізнаєтеся почитавши мануал:
p.s. До речі, у утиліти pdftk є графічна обгортка - pdfchain
sudo apt-get install pdfchain