Uso de Anotación de Texto para PDF a través de Python

Cómo agregar una anotación de texto a un archivo PDF existente

Una anotación de texto es una anotación adjunta a una ubicación específica en un documento PDF. Cuando está cerrada, la anotación se muestra como un ícono; cuando está abierta, debería mostrar una ventana emergente que contenga el texto de la nota en la fuente y tamaño elegidos por el lector.

Las anotaciones están contenidas en la colección Annotations de una página en particular. Esta colección contiene las anotaciones solo para esa página individual; cada página tiene su propia colección de Annotations.

Para agregar una anotación a una página en particular, agrégala a la colección Annotations de esa página con el método add().

  1. Primero, crea una anotación que desees agregar al PDF.

  2. Luego abre el PDF de entrada.

  3. Agrega la anotación a la colección de Annotations del objeto ‘page’.

El siguiente fragmento de código te muestra cómo agregar una anotación en una página PDF.


    import aspose.pdf as ap

    document = ap.Document(input_file)

    textAnnotation = ap.annotations.TextAnnotation(
        document.pages[1], ap.Rectangle(300, 700.664, 320, 720.769, True)
    )
    textAnnotation.title = "Usuario de Aspose"
    textAnnotation.subject = "Texto insertado 1"
    textAnnotation.contents = "qwerty"
    textAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    textAnnotation.color = ap.Color.blue

    document.pages[1].annotations.append(textAnnotation)
    document.save(output_file)

Obtener anotación de texto del archivo PDF


    import aspose.pdf as ap

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

    for ta in textAnnotations:
        print(ta.rect)

Eliminar anotación de texto de un archivo PDF


    import aspose.pdf as ap

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

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

    document.save(output_file)

Cómo agregar (o crear) una nueva anotación de texto libre

Una anotación de texto libre muestra texto directamente en la página. La clase FreeTextAnnotation permite crear este tipo de anotación. En el siguiente fragmento, agregamos una anotación de texto libre sobre la primera aparición de la cadena.


    import aspose.pdf as ap

    # Cargar el archivo PDF
    document = ap.Document(input_file)

    freeTextAnnotation = ap.annotations.FreeTextAnnotation(
        document.pages[1], ap.Rectangle(299, 713, 308, 720, True), ap.annotations.DefaultAppearance()
    )
    freeTextAnnotation.title = "Aspose User"
    freeTextAnnotation.color = ap.Color.light_green

    document.pages[1].annotations.append(freeTextAnnotation)
    document.save(output_file)

Obtener anotación de texto libre de un archivo PDF


    import aspose.pdf as ap

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

    for fa in freeTextAnnotations:
        print(fa.rect)

Eliminar anotación de texto libre de un archivo PDF


    import aspose.pdf as ap

    # Cargar el archivo PDF
    document = ap.Document(input_file)
    freeTextAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.FREE_TEXT)
    ]

    for fa in freeTextAnnotations:
        document.pages[1].annotations.delete(fa)

    document.save(output_file)

Tachado de palabras usando StrikeOutAnnotation

Aspose.PDF para Python te permite agregar, eliminar y actualizar anotaciones en documentos PDF. Una de las clases también te permite tachar anotaciones. Cuando se aplica una StrikeOutAnnotation a un PDF, se dibuja una línea a través del texto especificado, indicando que debe ser eliminado o ignorado.

El siguiente fragmento de código muestra cómo agregar una StrikeOutAnnotation a un PDF.


    import aspose.pdf as ap

    document = ap.Document(input_file)

    strikeoutAnnotation = ap.annotations.StrikeOutAnnotation(
        document.pages[1], ap.Rectangle(299.988, 713.664, 308.708, 720.769, True)
    )
    strikeoutAnnotation.title = "Usuario de Aspose"
    strikeoutAnnotation.subject = "Texto insertado 1"
    strikeoutAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    strikeoutAnnotation.color = ap.Color.blue

    document.pages[1].annotations.append(strikeoutAnnotation)
    document.save(output_file)

Obtener StrikeOutAnnotation de PDF


    import aspose.pdf as ap

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

    for pa in StrikeoutAnnotations:
        print(pa.rect)

Eliminar StrikeOutAnnotation de PDF


    import aspose.pdf as ap

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

    for pa in StrikeoutAnnotations:
        document.pages[1].annotations.delete(pa)

    document.save(output_file)