Управление колонтитулами в PDF с помощью Python

Создать стилизованные текстовые артефакты

Эта утилитная функция объясняет, как создать переиспользуемый текстовый артефакт для страниц PDF с использованием Aspose.PDF for Python. Она предназначена для генерации стилизованных заголовков или нижних колонтитулов с единообразным форматированием, включая настройки шрифтов, цвет, размер и выравнивание. Функция абстрагирует создание артефакта, чтобы его можно было переиспользовать для различных текстовых украшений уровня страницы.

  1. Создайте объект артефакта.
  2. Установите текстовое содержимое артефакта.
  3. Примените стилизацию текста.
  4. Установите выравнивание.
  5. Вернуть сконфигурированный артефакт.
from os import path
import aspose.pdf as ap
import sys

def _create_text_artifact(artifact_class, text):
    """Create a text artifact (header/footer) with common styling."""
    artifact = artifact_class()
    artifact.text = text
    artifact.text_state.font_size = 14
    artifact.text_state.font = ap.text.FontRepository.find_font("Arial")
    artifact.text_state.foreground_color = ap.Color.navy
    artifact.artifact_horizontal_alignment = ap.HorizontalAlignment.CENTER
    return artifact

Добавить заголовок в PDF

  1. Откройте входной PDF.
  2. Создайте HeaderArtifact с текстом “Sample Header”.
  3. Добавьте его к первой странице.
  4. Сохраните обновлённый PDF.
from os import path
import aspose.pdf as ap
import sys

def add_header_artifact(infile, outfile):
    """Add a header artifact to the first page of a PDF document."""
    with ap.Document(infile) as document:
        header = _create_text_artifact(ap.HeaderArtifact, "Sample Header")
        document.pages[1].artifacts.append(header)
        document.save(outfile)

Добавить нижний колонтитул в PDF

  1. Откройте входной PDF.
  2. Создайте FooterArtifact с текстом “Sample Footer”.
  3. Добавьте его к первой странице.
  4. Сохраните выходной файл.
from os import path
import aspose.pdf as ap
import sys

def add_footer_artifact(infile, outfile):
    """Add a footer artifact to the first page of a PDF document."""
    with ap.Document(infile) as document:
        footer = _create_text_artifact(ap.FooterArtifact, "Sample Footer")
        document.pages[1].artifacts.append(footer)
        document.save(outfile)

Удалить артефакты заголовка или нижнего колонтитула

  1. Откройте PDF.
  2. Найдите артефакты, помеченные как заголовки или нижние колонтитулы страниц.
  3. Удалите их с первой страницы.
  4. Сохраните очищенный документ.
from os import path
import aspose.pdf as ap
import sys

def delete_header_footer_artifact(infile, outfile):
    with ap.Document(infile) as document:
        header_footers = [
            artifact
            for artifact in document.pages[1].artifacts
            if artifact.type == ap.Artifact.ArtifactType.PAGINATION
            and (
                artifact.subtype == ap.Artifact.ArtifactSubtype.HEADER
                or artifact.subtype == ap.Artifact.ArtifactSubtype.FOOTER
            )
        ]

        for art in header_footers:
            document.pages[1].artifacts.delete(art)

        document.save(outfile)

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