Добавить водяной знак в PDF с использованием Python

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

Для работы с артефактами Aspose.PDF имеет два класса: Artifact и ArtifactCollection.

Чтобы получить все артефакты на конкретной странице, класс Page имеет свойство Artifacts. В этой теме объясняется, как работать с артефактами в PDF-файлах.

Работа с артефактами

Класс Artifact содержит следующие свойства:

contents – Получает коллекцию внутренних операторов артефакта. Поддерживаемый тип - System.Collections.ICollection. form – Получает XForm артефакта (если используется XForm). Артефакты водяных знаков, заголовка и нижнего колонтитула содержат XForm, который отображает все содержимое артефакта.

image – Получает изображение артефакта (если изображение присутствует, иначе null). text – Получает текст артефакта. rectangle – Получает положение артефакта на странице. rotation – Получает угол поворота артефакта (в градусах, положительное значение указывает на вращение против часовой стрелки). opacity – Получает непрозрачность артефакта. Возможные значения находятся в диапазоне 0…1, где 1 полностью непрозрачно.

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

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


    import aspose.pdf as ap

    document = ap.Document(input_pdf)
    artifact = ap.WatermarkArtifact()

    ts = ap.text.TextState()
    ts.font_size = 72
    ts.foreground_color = ap.Color.blue
    ts.font = ap.text.FontRepository.find_font("Courier")

    artifact.set_text_and_state("WATERMARK", ts)
    artifact.artifact_horizontal_alignment = ap.HorizontalAlignment.CENTER
    artifact.artifact_vertical_alignment = ap.VerticalAlignment.CENTER
    artifact.rotation = 45
    artifact.opacity = 0.5
    artifact.is_background = True
    document.pages[1].artifacts.append(artifact)
    document.save(output_pdf)