Добавить нумерацию Бейтса в PDF с помощью Python

Нумерация Бейтса широко используется в юридических, медицинских и бизнес-процессах для назначения уникальных последовательных идентификаторов страницам в наборе документов. Aspose.PDF for Python via .NET предлагает простой и гибкий API для автоматизации этого процесса, позволяя программно применять стандартизированные номера Бейтса к любому PDF.

Используя BatesNArtifact класс, разработчики могут полностью настраивать поведение нумерации — включая начальный номер, количество цифр, префиксы и суффиксы, выравнивание и отступы. После настройки артефакт может быть применён к Document через add_bates_numbering метод на PageCollection или добавлено как часть списка PaginationArtifact objects. Aspose.PDF также поддерживает стиль конфигурации на основе делегатов, позволяя динамически управлять настройками артефактов во время выполнения.

Помимо создания номеров Бейтса, API предоставляет простой способ их удаления с помощью delete_bates_numbering, предлагая полную гибкость в рабочих процессах обработки документов.

В этой статье показаны различные методы добавления и удаления нумерации Бейтса в PDF с использованием Aspose.PDF for Python via .NET, с наглядными примерами настройки артефактов, их применения и удаления.

Добавление артефакта нумерации Бейтса

В этом примере показано, как программно добавить нумерацию Бейтса в PDF‑документ, используя Aspose.PDF for Python via .NET. Настраивая a BatesNArtifact с желаемыми настройками и применяя её к страницам документа, вы можете автоматизировать процесс добавления стандартных идентификаторов к каждой странице.

Чтобы добавить артефакт нумерации Бейтса в a Document, вызовите AddBatesNumbering(BatesNArtifact) расширяющий метод для PageCollection, передавая BatesNArtifact экземпляр в качестве параметра:

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

def _create_bates_artifact():
    """Create a Bates numbering artifact with default settings."""
    artifact = ap.BatesNArtifact()
    artifact.start_page = 1
    artifact.end_page = 0
    artifact.subset = ap.Subset.ALL
    artifact.number_of_digits = 6
    artifact.start_number = 1
    artifact.prefix = ""
    artifact.suffix = ""
    artifact.artifact_vertical_alignment = ap.VerticalAlignment.BOTTOM
    artifact.artifact_horizontal_alignment = ap.HorizontalAlignment.RIGHT
    artifact.right_margin = 72
    artifact.left_margin = 72
    artifact.top_margin = 36
    artifact.bottom_margin = 36
    return artifact
import sys
from os import path
import aspose.pdf as ap

def add_bates_n_artifact(infile, outfile):
    """Add Bates numbering artifact to a PDF document."""
    with ap.Document(infile) as document:
        for _ in range(2):
            document.pages.add()

        bates_artifact = _create_bates_artifact()
        ap.PageCollectionExtensions.add_bates_numbering(document.pages, bates_artifact)
        document.save(outfile)

Добавить нумерацию Bates с использованием артефактов пагинации

Добавьте нумерацию Bates в PDF, используя коллекцию артефактов пагинации в Aspose.PDF for Python:

  1. Загрузите документ PDF.
  2. Вставьте дополнительные страницы при необходимости перед применением нумерации.
  3. Создайте артефакт Bates.
  4. Настройте свойства артефакта.
  5. Добавьте артефакт в коллекцию нумерации.
  6. Примените пагинацию к страницам.
  7. Сохраните обновлённый документ.
import sys
from os import path
import aspose.pdf as ap

def add_bates_n_artifact_pagination(infile, outfile):
    """Add Bates numbering using pagination artifacts collection."""
    with ap.Document(infile) as document:
        for _ in range(2):
            document.pages.add()

        bates_artifact = _create_bates_artifact()
        ap.PageCollectionExtensions.add_pagination(document.pages, [bates_artifact])
        document.save(outfile)

Удалить нумерацию Bates

Чтобы удалить нумерацию Bates из Document, используйте delete_bates_numbering() метод на PageCollection:

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

def delete_bates_numbering(infile, outfile):
    """Delete Bates numbering from a PDF document."""
    with ap.Document(infile) as document:
        ap.PageCollectionExtensions.delete_bates_numbering(document.pages)
        document.save(outfile)

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