PDF липкие аннотации с использованием Python

Добавление аннотации водяного знака

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

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

Вы можете добавить текст водяного знака, используя WatermarkAnnotation в определенной позиции страницы PDF. Непрозрачность водяного знака также можно контролировать с помощью свойства opacity.

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


    import aspose.pdf as ap

    document = ap.Document(input_file)
    # Создать аннотацию
    # Загрузить объект страницы для добавления аннотации
    page = document.pages[1]

    # Создать аннотацию
    wa = ap.annotations.WatermarkAnnotation(page, ap.Rectangle(100, 0, 400, 100, True))

    # Добавить аннотацию в коллекцию аннотаций страницы
    page.annotations.append(wa)

    # Создать TextState для настройки шрифта
    ts = ap.text.TextState()
    ts.foreground_color = ap.Color.blue
    ts.font_size = 25
    ts.font = ap.text.FontRepository.find_font("Arial");

    # Установить уровень непрозрачности текста аннотации
    wa.opacity = 0.5

    # Добавить текст в аннотацию
    wa.set_text_and_state([ "HELLO", "Line 1", "Line 2" ], ts)

    document.save(output_file)

Получить Аннотацию Водяного Знака


    import aspose.pdf as ap

    document = ap.Document(input_file)
    watermarkAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.WATERMARK)
    ]

    for ta in watermarkAnnotations:
        print(ta.rect)

Удалить Аннотацию Водяного Знака


    import aspose.pdf as ap

    document = ap.Document(input_file)
    watermarkAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.WATERMARK)
    ]

    for ta in watermarkAnnotations:
        document.pages[1].annotations.delete(ta)

    document.save(output_file)