Anotación de Resaltados en PDF usando Python

Las anotaciones de marcado de texto en PDF se utilizan para resaltar, subrayar, omitir o agregar notas al texto en el documento. Estas anotaciones están destinadas a resaltar o llamar la atención sobre partes específicas del texto. Tales anotaciones permiten a los usuarios marcar o modificar visualmente el contenido de un archivo PDF.

La anotación de resaltado se utiliza para marcar el texto con un fondo de color, generalmente amarillo, para indicar su importancia o relevancia.

La anotación de subrayado es una línea colocada debajo del texto seleccionado para indicar importancia, énfasis o sugerir ediciones.

La anotación de tachado incluye el tachado de un texto particular para mostrar que ha sido eliminado, reemplazado o ya no es válido.

La línea ondulada se utiliza para subrayar el texto para indicar un tipo diferente de acento, como errores ortográficos, problemas potenciales o cambios propuestos.

Agregar anotación de marcado de texto

Para agregar una anotación de marcado de texto al documento PDF, necesitamos realizar las siguientes acciones:

  1. Cargar el archivo PDF - nuevo objeto Document.
  2. Crear anotaciones:
  3. Después debemos añadir todas las anotaciones a la página.

Agregar Anotación de Resaltado


    import aspose.pdf as ap

    # Abrir documento
    document = ap.Document(input_file)

    # Crear Anotación de Círculo
    highlightAnnotation = ap.annotations.HighlightAnnotation(
        document.pages[1], ap.Rectangle(300, 750, 320, 770, True)
    )
    document.pages[1].annotations.append(highlightAnnotation)
    document.save(output_file)

Añadir Anotación de Tachado


    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)

Añadir Anotación de Zigzag


    import aspose.pdf as ap

    document = ap.Document(input_file)
    page = document.pages[1]
    squigglyAnnotation = ap.annotations.SquigglyAnnotation(page, ap.Rectangle(67, 317, 261, 459, True))
    squigglyAnnotation.title = "John Smith"
    squigglyAnnotation.color = ap.Color.blue

    page.annotations.append(squigglyAnnotation)

    document.save(output_file)

Añadir Anotación de Subrayado


    import aspose.pdf as ap

    document = ap.Document(input_file)

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

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

Obtener anotación de marcado de texto

Intente usar el siguiente fragmento de código para obtener la anotación de marcado de texto del documento PDF.

Obtener anotación de resaltar


    import aspose.pdf as ap

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

    for ha in highlightAnnotations:
        print(ha.rect)

Obtener anotación de tachado


    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)

Obtener anotación de línea ondulada


    import aspose.pdf as ap

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

    for pa in squigglyAnnotations:
        print(pa.rect)

Obtener Anotación de Subrayado


    import aspose.pdf as ap

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

    for ta in UnderlineAnnotations:
        print(ta.rect)

Eliminar Anotación de Marcado de Texto

El siguiente fragmento de código muestra cómo eliminar la anotación de marcado de texto de un archivo PDF.

Eliminar Anotación de Resaltado


    import aspose.pdf as ap

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

    for hs in highlightAnnotations:
        document.pages[1].annotations.delete(hs)

    document.save(output_file)

Eliminar Anotación de Tachado


    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)

Eliminar Anotación de Línea Ondulada


    import aspose.pdf as ap

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

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

    document.save(output_file)

Eliminar Anotación de Subrayado


    import aspose.pdf as ap

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

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

    document.save(output_file)