Водные знаки на PDF средствами PHP

В прошлой статье я писал о своем интернет магазине. Статья получилась, сразу скажем, ниочем – типа “я пиарюсь”. Ну, наверное, у нее и не было другого предназначения, но зато в ней я пообещал рассказать как можно легко защищать свои pdf файлы. Сегодня речь пойдет именно об этом.

Конечно, не все файлы там были мои, и вначале я хотел всего лишь ставить знаки только на картинки, но после того как я понял что не все файлы так и легко найти, а многие (например этот) мне даже пришлось делать самому, я подумал, что будет лучше и их как-нибудь защитить. 

Например водными знаками.

Сразу скажу – решение писал не я. Правда у автора требовались несколько библиотек для работы с PDF файлами, на поиск которых я потратил некоторое время, и я просто собрал все необходимые файлы в одном репозитории.

Данная библиотека крайне проста в использовании

require 'pdfwatermarker/pdfwatermark.php';

$watermark = 'files/whatermark.png'; // Изображение водного знака
$pdf = 'files/1.pdf'; // оригинальный PDF
$savePdf = 'files/2.pdf'; // PDF с водным знаком

try {
$watermark = new PDFWatermark($watermark);
$watermark->setPosition('topright');
$watermarker = new PDFWatermarker($pdf, $savePdf, $watermark);
$watermarker->savePdf();
} catch(Exception $e){
var_dump($e);
}

И, как видите, в несколько строчек кода, я запросто ставлю на все PDF файлы водные знаки в своем магазине RobOM.ru

Теперь немного о функциях.

setPosition – задает позицию вашего знака. Принимает следующие значения: 

'center','topright', 'topleft', 'bottomright', 'bottomleft'

setAsBackground – устанавливает ваш знак на задний фон. То есть все изображения и текст его будут перекрывать.

setAsOverlay – устанавливает ваш знак на передний фон. Именно таким методом я и пользуюсь потому что чаще всего в верхнем правом углу, куда я устанавливаю знак находится картинка, и знака совершенно не видно.

В целом это все что вам нужно для работы с водными знаками pdf на php.

 

Кстати – небольшое дополнение.

Данный вид нанесения не работает с различными закодированными и сжатыми PDF. Для того чтобы обойти данное ограничение не нужно серфить интернет в поисках декодеров и расшифровщиков PDF. Достаточно просто открыть его в браузере, нажать на печать (Ctrl+P) и выбрать “Печать в файл (PDF)”. 

Вот так просто расшифровать, разжать и вообще привести PDF в идеальный вид для нанесения водных знаков средствами php

[Всего голосов: 0    Средний: 0/5]

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

Ваш e-mail не будет опубликован.