Anotação de Destaques em PDF usando Python

Anotações de Marcação de Texto em PDF são usadas para destacar, sublinhar, riscar ou adicionar notas ao texto no documento. Essas anotações têm a intenção de destacar ou chamar a atenção para partes específicas do texto. Tais anotações permitem que os usuários marquem visualmente ou modifiquem o conteúdo de um arquivo PDF.

Anotação de destaque é usada para marcar o texto com um fundo colorido, geralmente amarelo, para indicar sua importância ou relevância.

Anotação de sublinhado é uma linha colocada abaixo do texto selecionado para indicar significância, ênfase, ou indicar edições sugeridas.

Anotação de tachado inclui um risco ou tachado de um texto específico para mostrar que foi deletado, substituído, ou não é mais válido.

Linha ondulada é usada para sublinhar o texto para indicar um tipo diferente de acento, como erros ortográficos, problemas potenciais, ou mudanças propostas.

Adicionar Anotação de Marcação de Texto

Para adicionar uma Anotação de Marcação de Texto ao documento PDF, precisamos realizar as seguintes ações:

  1. Carregar o arquivo PDF - novo objeto Document.
  2. Criar anotações:
  3. Depois devemos adicionar todas as anotações à página.

Adicionar Anotação de Realce


    import aspose.pdf as ap

    # Abrir documento
    document = ap.Document(input_file)

    # Criar Anotação 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)

Adicionar Anotação 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 = "Usuário Aspose"
    strikeoutAnnotation.subject = "Texto inserido 1"
    strikeoutAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    strikeoutAnnotation.color = ap.Color.blue

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

Adicionar Anotação de Ondulação


    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)

Adicionar Anotação de Sublinhado


    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 = "Usuário Aspose"
    underlineAnnotation.subject = "Sublinhado Inserido 1"
    underlineAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    underlineAnnotation.color = ap.Color.blue

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

Obter Anotação de Marcação de Texto

Por favor, tente usar o seguinte trecho de código para Obter Anotação de Marcação de Texto do documento PDF.

Obter Anotação de Realce


    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)

Obter Anotação 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)

Obter Anotação de Ondulado


    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)

Obter Anotação de Sublinhado


    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)

Excluir Anotação de Marcação de Texto

O seguinte trecho de código mostra como excluir a anotação de marcação de texto de um arquivo PDF.

Excluir Anotação de Destaque


    import aspose.pdf as ap

    # Carregar o arquivo 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)

Excluir Anotação de Riscar


    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)

Excluir Anotação 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)

Excluir Anotação Sublinhada


    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)