Добавить фоны PDF в Python

Добавление фонового изображения в PDF

Фоновые изображения могут использоваться для добавления водяного знака или другого тонкого дизайна в документы. В Aspose.PDF for Python via .NET каждый PDF‑документ представляет собой набор страниц, а каждая страница содержит набор артефактов. The BackgroundArtifact класс может использоваться для добавления фонового изображения к объекту страницы.

Этот подход полезен, когда необходимо разместить декоративное изображение за основным содержимым PDF без преобразования его в поисковый текст документа.

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

  1. Загрузите документ PDF.
  2. Создайте фоновой артефакт.
  3. Загрузите файл изображения.
  4. Присоедините артефакт к странице.
  5. Сохраните обновлённый документ.

from os import path
from io import FileIO
import aspose.pdf as ap
import sys

def add_background_image_to_pdf(infile, imagefile, outfile):
    """Add a background image to a PDF document as an artifact."""
    with ap.Document(infile) as document:
        artifact = ap.BackgroundArtifact()
        artifact.background_image = FileIO(imagefile, "rb")
        document.pages[1].artifacts.append(artifact)
        document.save(outfile)

Добавление фонового изображения с непрозрачностью в PDF

Добавить полупрозрачное фоновое изображение на страницу PDF с использованием Aspose.PDF for Python.

Применяя непрозрачность, фоновое изображение становится частично прозрачным, позволяя оригинальному содержимому страницы (текст, изображения и т.д.) оставаться чётко видимым. Это особенно полезно для:

  • Водяные знаки
  • Брендовые наложения
  • Тонкие улучшения дизайна

Фон добавляется как артефакт, гарантируя, что он остаётся позади всего содержимого страницы.

  1. Загрузите документ PDF.
  2. Создайте фоновой артефакт.
  3. Загрузите файл изображения.
  4. Установите уровень непрозрачности.
  5. Присоедините артефакт к странице.
  6. Сохраните обновлённый документ.

from os import path
from io import FileIO
import aspose.pdf as ap
import sys

def add_background_image_with_opacity_to_pdf(infile, imagefile, outfile):
    """Add a background image with opacity to a PDF document as an artifact."""
    with ap.Document(infile) as document:
        artifact = ap.BackgroundArtifact()
        artifact.background_image = FileIO(imagefile, "rb")
        artifact.opacity = 0.5
        document.pages[1].artifacts.append(artifact)
        document.save(outfile)

Добавление цвета фона в PDF

Применить сплошной цвет фона к странице PDF с использованием Aspose.PDF for Python.

  1. Загрузите документ PDF.
  2. Создайте фоновой артефакт.
  3. Установите цвет фона.
  4. Присоедините артефакт к странице.
  5. Сохраните обновлённый документ.

from os import path
from io import FileIO
import aspose.pdf as ap
import sys

def add_background_color_to_pdf(infile, outfile):
    """Add a solid color background to a PDF document as an artifact."""
    with ap.Document(infile) as document:
        artifact = ap.BackgroundArtifact()
        artifact.background_color = ap.Color.dark_khaki
        document.pages[1].artifacts.append(artifact)
        document.save(outfile)

Удаление фона из PDF

Удалить артефакты фона со страницы PDF с помощью Aspose.PDF for Python. Фоновые элементы в PDF часто хранятся как артефакты, и этот метод выборочно идентифицирует и удаляет только те артефакты, которые классифицированы как фоновые элементы.

  1. Загрузите документ PDF.
  2. Получите доступ к артефактам страницы.
  3. Отфильтруйте фоновые артефакты.
  4. Соберите фоновые элементы.
  5. Удалите фоновые артефакты.
  6. Сохраните обновлённый документ.

from os import path
from io import FileIO
import aspose.pdf as ap
import sys

def remove_background(infile, outfile):
    with ap.Document(infile) as document:
        backgrounds = [
            artifact
            for artifact in document.pages[1].artifacts
            if artifact.type == ap.Artifact.ArtifactType.PAGINATION
            and artifact.subtype == ap.Artifact.ArtifactSubtype.BACKGROUND
        ]

        for background in backgrounds:
            document.pages[1].artifacts.delete(background)

        document.save(outfile)

Связанные темы артефактов