Anotaciones adhesivas en PDF usando Python

Añadir Anotación de Marca de Agua

La más visible y fácil de visualizar y transmitir es la Anotación de Marca de Agua. Esta es la mejor manera de colocar en su documento PDF un logotipo o cualquier otro signo que confirme su originalidad.

Se debe usar una anotación de marca de agua para representar gráficos que se imprimirán en un tamaño y posición fijos en una página, independientemente de las dimensiones de la página impresa.

Puede agregar Texto de Marca de Agua utilizando WatermarkAnnotation en una posición específica de la página PDF. La opacidad de la Marca de Agua también se puede controlar usando la propiedad opacity.

Por favor, consulte el siguiente fragmento de código para agregar WatermarkAnnotation.


    import aspose.pdf as ap

    document = ap.Document(input_file)
    # Crear Anotación
    # Cargar objeto Página para agregar Anotación
    page = document.pages[1]

    # Crear Anotación
    wa = ap.annotations.WatermarkAnnotation(page, ap.Rectangle(100, 0, 400, 100, True))

    # Agregar anotación a la colección de Anotaciones de la Página
    page.annotations.append(wa)

    # Crear TextState para la configuración de Fuente
    ts = ap.text.TextState()
    ts.foreground_color = ap.Color.blue
    ts.font_size = 25
    ts.font = ap.text.FontRepository.find_font("Arial");

    # Establecer nivel de opacidad del Texto de la Anotación
    wa.opacity = 0.5

    # Agregar Texto en la Anotación
    wa.set_text_and_state([ "HELLO", "Line 1", "Line 2" ], ts)

    document.save(output_file)

Obtener Anotación de Marca de Agua


    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)

Eliminar Anotación de Marca de Agua


    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)