Добавить водяной знак в PDF
Aspose.PDF для PHP через Java позволяет добавлять водяные знаки в ваш PDF-документ, используя артефакты. Пожалуйста, ознакомьтесь с этой статьей, чтобы решить вашу задачу.
Водяной знак, созданный с помощью Adobe Acrobat, называется артефактом (как описано в разделе 14.8.2.2 Реальное содержимое и артефакты спецификации PDF). Для работы с артефактами Aspose.PDF имеет два класса: Artifact и ArtifactCollection.
Для получения всех артефактов на конкретной странице, класс Page имеет свойство Artifacts. Этот раздел объясняет, как работать с артефактами в PDF файлах.
Работа с артефактами
Класс Artifact содержит следующие свойства:
Artifact.Type – получает тип артефакта (поддерживает значения перечисления Artifact.ArtifactType, где значения включают Background, Layout, Page, Pagination и Undefined). Artifact.Subtype – получает подтип артефакта (поддерживает значения перечисления Artifact.ArtifactSubtype, где значения включают Background, Footer, Header, Undefined, Watermark).
Artifact.Contents – получает коллекцию внутренних операторов артефакта. Поддерживаемый тип – System.Collections.ICollection. Artifact.Form – получает XForm артефакта (если используется XForm). Водяные знаки, заголовки и нижние колонтитулы содержат XForm, который показывает все содержимое артефакта.
Artifact.Image – получает изображение артефакта (если изображение присутствует, иначе null).Artifact.Text – Получает текст артефакта.
Artifact.Rectangle – Получает позицию артефакта на странице.
Artifact.Rotation – Получает поворот артефакта (в градусах, положительное значение указывает на поворот против часовой стрелки).
Artifact.Opacity – Получает непрозрачность артефакта. Возможные значения находятся в диапазоне 0…1, где 1 — полностью непрозрачный.
Примеры программирования: Получение водяных знаков
Следующий фрагмент кода показывает, как получить каждый водяной знак на первой странице PDF-файла с помощью PHP.
// Открыть документ
$document = new Document($inputFile);
$formattedText = new FormattedText("Watermark",
(new Color())->getBlue()->getRgb(),
(new facades_FontStyle())->getCourier(),
facades_EncodingType::$Identity_h,
true, 72.0);
$horizontalAlignment = new HorizontalAlignment();
$verticalAlignment = new VerticalAlignment();
$artifact = new WatermarkArtifact();
$artifact->setText($formattedText);
$artifact->setArtifactHorizontalAlignment ($horizontalAlignment->getCenter());
$artifact->setArtifactVerticalAlignment ($verticalAlignment->getCenter());
$artifact->setRotation(45);
$artifact->setOpacity(0.5);
$artifact->setBackground(true);
$document->getPages()->get_Item(1)->getArtifacts()->add($artifact);
// Сохранить выходной документ
$document->save($outputFile);
$document->close();