Добавление водяного знака в PDF с использованием C#

Aspose.PDF для .NET позволяет добавлять водяные знаки в ваш PDF документ с использованием Артефактов. Пожалуйста, ознакомьтесь с этой статьей для решения вашей задачи.

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Водяной знак, созданный с помощью 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.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.Rotation – Получает угол поворота артефакта (в градусах, положительное значение указывает на поворот против часовой стрелки). Artifact.Opacity – Получает непрозрачность артефакта. Возможные значения находятся в диапазоне от 0 до 1, где 1 полностью непрозрачен.

Примеры программирования: Как добавить водяной знак на PDF файлы

Следующий фрагмент кода показывает, как получить каждый водяной знак на первой странице PDF файла на C#.

public static void AddWatermarks()
{
    Document document = new Document(_dataDir + "text.pdf");
    WatermarkArtifact artifact = new WatermarkArtifact();
    artifact.SetTextAndState(
        "WATERMARK",
        new TextState()
        {
            FontSize = 72,
            ForegroundColor = Color.Blue,
            Font = FontRepository.FindFont("Courier")
        });
    artifact.ArtifactHorizontalAlignment = HorizontalAlignment.Center;
    artifact.ArtifactVerticalAlignment = VerticalAlignment.Center;
    artifact.Rotation = 45;
    artifact.Opacity = 0.5;
    artifact.IsBackground = true;
    document.Pages[1].Artifacts.Add(artifact);
    document.Save(_dataDir + "watermark.pdf");
}