Обрезка документа PDF в Linux из PHP

Author Автор: Роман Чернышов    Опубликовано: 6 декабря 2024

Доброго времени друзья! Недавно я столкнулся с задачей, реализовать обрезку PDF документа по краям в проекте написанном на PHP. Поиск решений, ничего толкового не дал, как ни странно(в случае работы с PDF из PHP дела обстоят именно так, использование библиотек типа Fpdi тоже не решает задачу, или решает некорректно). В итоге, было принято решение, выполнить задачу используя такую связку: PHP -> внешняя программа PDFCrop под Linux (решение нашлось для CentOS 7, AlmaLinux и Ununtu).

Установка PDFCrop

Для работы PDFCrop в Linux, нужно установить следующие пакеты:

Для CentOS 7, AlmaLinux — texlive-pdftex. Устанавливаем выполнив команду в консоли:

sudo yum -y install texlive-pdftex

Далее скачиваем саму утилиту PDFCrop, из архива берем файл pdfcrop.pl (скрипт написанный на PERL), переименовываем его в pdfcrop, копируем в /usr/bin/pdfcrop и устанавливаем права на выполнение 755.

Для Ununtu достаточно установить только — texlive-extra-utils, утилита PDFCrop будет установлена автоматически(идет в пакете). Устанавливаем выполнив команду в консоли:

sudo apt-get install texlive-extra-utils

Вызов из PHP

В скрипт написанном на PHP, вызываем PDFCrop используя команду exec(), код будет выглядеть так:

exec("/usr/bin/pdfcrop --margins '-3 -3 -6 -1' ./input.pdf ./output.pdf");

Документ input.pdf это исходник, а output.pdf соответственно результат. Значения атрибута —margins ‘-3 -3 -6 -1’ это то на сколько нужно обрезать документ со всех(в дюймах).

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

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 359₽
Популярные записи
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка