Добавление штампов изображений в PDF программно
Добавление штампа изображения в PDF файл
Вы можете использовать класс ImageStamp для добавления изображения в качестве штампа в PDF документ. Класс ImageStamp предоставляет методы для задания высоты, ширины, прозрачности и т.д.
Чтобы добавить штамп изображения:
-
Создайте объект Document и объект ImageStamp, используя необходимые свойства.
-
Вызовите метод addStamp(..) класса Page, чтобы добавить штамп в PDF.
Следующий фрагмент кода показывает, как добавить штамп изображения в файл PDF.
// Открыть документ
$document = new Document($inputFile);
$pages = $document->getPages();
// Создать штамп изображения
$imageStamp = new ImageStamp($inputImageFile);
$imageStamp->setBackground(true);
$imageStamp->setXIndent(100);
$imageStamp->setYIndent(100);
$imageStamp->setHeight(48);
$imageStamp->setWidth(225);
$imageStamp->setRotate((new Rotation())->getOn270());
$imageStamp->setOpacity(0.5);
// Добавить штамп на определенную страницу
$document->getPages()->get_Item(1)->addStamp($imageStamp);
// Сохранить выходной документ
$document->save($outputFile);
$document->close()
Контроль качества изображения при добавлении штампа
Класс ImageStamp позволяет добавить изображение в качестве штампа в PDF документ. Он также позволяет управлять качеством изображения при добавлении изображения в качестве водяного знака в PDF файл. Для этого в класс ImageStamp был добавлен метод с именем setQuality(…). Аналогичный метод также можно найти в классе Stamp пакета com.aspose.pdf.facades.
Следующий фрагмент кода показывает, как управлять качеством изображения при добавлении в качестве штампа в PDF файл.
// Открыть документ
$document = new Document($inputFile);
$pages = $document->getPages();
// Создать штамп изображения
$imageStamp = new ImageStamp($inputImageFile);
$imageStamp->setQuality(10);
$document->getPages()->get_Item(1)->addStamp($imageStamp);
// Сохранить выходной документ
$document->save($outputFile);
$document->close();
Штамп изображения как фон в плавающем блоке
API Aspose.PDF позволяет добавить штамп изображения в качестве фона в плавающий блок. Свойство BackgroundImage класса FloatingBox может быть использовано для установки изображения фона для плавающего блока, как показано в следующем примере кода.
Этот фрагмент кода демонстрирует процесс создания PDF-документа и добавления в него FloatingBox. FloatingBox содержит текстовый фрагмент, границу, фоновое изображение и цвет фона. Полученный документ затем сохраняется в выходной файл.
// Открыть документ
$document = new Document($inputFile);
$colors = new Color();
$pages = $document->getPages();
// Добавить страницу в PDF-документ
$page = $pages->add();
// Создать объект FloatingBox
$aBox = new FloatingBox(200, 100);
// Установить левую позицию для FloatingBox
$aBox->setLeft(40);
// Установить верхнюю позицию для FloatingBox
$aBox->setTop(80);
// Установить горизонтальное выравнивание для FloatingBox
$aBox->setHorizontalAlignment((new HorizontalAlignment())->getCenter());
// Добавить текстовый фрагмент в коллекцию абзацев FloatingBox
$aBox->getParagraphs()->add(new TextFragment("main text"));
// Установить границу для FloatingBox
$aBox->setBorder(new BorderInfo(BorderSide::$All, $colors->getRed()));
// Добавить фоновое изображение
$img = new Image();
$img->setFile($inputImageFile);
$aBox->setBackgroundImage($img);
// Установить цвет фона для FloatingBox
$aBox->setBackgroundColor($colors->getYellow());
// Добавить FloatingBox в коллекцию абзацев объекта страницы
$page->getParagraphs()->add($aBox);
// Сохранить выходной документ
$document->save($outputFile);
$document->close();