Добавление текстовых штампов в PDF с помощью Python

Добавление текстового штампа с помощью Python

Вы можете использовать класс TextStamp для добавления текстового штампа в PDF файл. Класс TextStamp предоставляет свойства, необходимые для создания штампа на основе текста, такие как размер шрифта, стиль шрифта и цвет шрифта и т.д. Для того чтобы добавить текстовый штамп, вам нужно создать объект Document и объект TextStamp с использованием необходимых свойств. После этого вы можете вызвать метод add_stamp() страницы для добавления штампа в PDF. Следующий фрагмент кода показывает, как добавить текстовый штамп в PDF файл.


    import aspose.pdf as ap

    # Открыть документ
    document = ap.Document(input_pdf)

    # Создать текстовый штамп
    text_stamp = ap.TextStamp("Sample Stamp")
    # Установить, является ли штамп фоном
    text_stamp.background = True
    # Установить начальную точку
    text_stamp.x_indent = 100
    text_stamp.y_indent = 100
    # Повернуть штамп
    text_stamp.rotate = ap.Rotation.ON90
    # Установить свойства текста
    text_stamp.text_state.font = ap.text.FontRepository.find_font("Arial")
    text_stamp.text_state.font_size = 14.0
    text_stamp.text_state.font_style = ap.text.FontStyles.BOLD
    text_stamp.text_state.font_style = ap.text.FontStyles.ITALIC
    text_stamp.text_state.foreground_color = ap.Color.aqua
    # Добавить штамп на конкретную страницу
    document.pages[1].add_stamp(text_stamp)

    # Сохранить выходной документ
    document.save(output_pdf)

Определение выравнивания для объекта TextStamp

Добавление водяных знаков в PDF документы является одной из часто требуемых функций, и Aspose.PDF для Python полностью способен добавлять как изображение, так и текстовые водяные знаки. У нас есть класс под названием TextStamp, который предоставляет возможность добавлять текстовые штампы в PDF файл. Недавно возникла необходимость поддерживать функцию указания выравнивания текста при использовании объекта TextStamp. Поэтому, чтобы удовлетворить это требование, мы ввели свойство text_alignment в классе TextStamp. Используя это свойство, мы можем указать horizontal_alignment выравнивание текста.

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


    import aspose.pdf as ap

    # Создать объект Document с входным файлом
    doc = ap.Document(input_pdf)
    # Создать объект FormattedText с примером строки
    text = ap.facades.FormattedText("This")
    # Добавить новую строку текста в FormattedText
    text.add_new_line_text("is sample")
    text.add_new_line_text("Center Aligned")
    text.add_new_line_text("TextStamp")
    text.add_new_line_text("Object")
    # Создать объект TextStamp с использованием FormattedText
    stamp = ap.TextStamp(text)
    # Указать горизонтальное выравнивание текстового штампа как центрированное
    stamp.horizontal_alignment = ap.HorizontalAlignment.CENTER
    # Указать вертикальное выравнивание текстового штампа как центрированное
    stamp.vertical_alignment = ap.VerticalAlignment.CENTER
    # Указать горизонтальное выравнивание текста для TextStamp как центрированное
    stamp.text_alignment = ap.HorizontalAlignment.CENTER
    # Установить верхнее поле для объекта штампа
    stamp.top_margin = 20
    # Добавить объект штампа на первую страницу документа
    doc.pages[1].add_stamp(stamp)

    # Сохранить обновленный документ
    doc.save(output_pdf)

Заливка Обводка Текста как Штамп в PDF Файл

Мы реализовали установку режима рендеринга для сценариев добавления и редактирования текста. Чтобы отобразить текст с обводкой, создайте объект TextState для передачи расширенных свойств. Установите цвет для обводки. Затем установите режим рендеринга текста. Следующим шагом свяжите TextState и добавьте Штамп.

Следующий фрагмент кода демонстрирует добавление Заливки Обводки Текста:


    import aspose.pdf as ap

    # Создайте объект TextState для передачи расширенных свойств
    ts = ap.text.TextState()
    # Установите цвет для обводки
    ts.stroking_color = ap.Color.gray
    # Установите режим рендеринга текста
    ts.rendering_mode = ap.text.TextRenderingMode.STROKE_TEXT
    # Загрузите входной PDF документ
    file_stamp = ap.facades.PdfFileStamp(ap.Document(input_pdf))

    stamp = ap.facades.Stamp()
    stamp.bind_logo(
        ap.facades.FormattedText(
            "PAID IN FULL",
            ap.facades.FontColor(100, 100, 100),
            ap.facades.FontStyle.TIMES_ROMAN,
            ap.facades.EncodingType.WINANSI,
            True,
            78.0,
        )
    )

    # Свяжите TextState
    stamp.bind_text_state(ts)
    # Установите X,Y координаты
    stamp.set_origin(100, 100)
    stamp.opacity = 5
    stamp.blending_space = ap.facades.BlendingColorSpace.DEVICE_RGB
    stamp.rotation = 45.0
    stamp.is_background = False
    # Добавьте Штамп
    file_stamp.add_stamp(stamp)
    file_stamp.save(output_pdf)
    file_stamp.close()