Мобильная
версия

Водные знаки на 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

Теги: #php, #pdf

Ваша оценка:

Рейтинг: 10.0 (Оценок: 6)

Комментарий:

Copyright © DOC_tr 2015-2017 г. Все права защищены
Яндекс.Метрика
Перейти к мобильной версии