Utilisation de l'Annotation de Texte pour PDF via Python

Comment ajouter une annotation de texte dans un fichier PDF existant

Une annotation de texte est une annotation attachée à un emplacement spécifique dans un document PDF. Lorsqu’elle est fermée, l’annotation est affichée sous forme d’icône ; lorsqu’elle est ouverte, elle doit afficher une fenêtre contextuelle contenant le texte de la note dans la police et la taille choisies par le lecteur.

Les annotations sont contenues dans la collection Annotations d’une page particulière. Cette collection contient les annotations uniquement pour cette page individuelle ; chaque page a sa propre collection Annotations.

Pour ajouter une annotation à une page particulière, ajoutez-la à la collection Annotations de cette page avec la méthode add().

  1. Tout d’abord, créez une annotation que vous souhaitez ajouter au PDF.

  2. Ensuite, ouvrez le PDF d’entrée.

  3. Ajoutez l’annotation à la collection Annotations de l’objet ‘page’.

Le code suivant montre comment ajouter une annotation dans une page 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 = "Utilisateur Aspose"
    textAnnotation.subject = "Texte inséré 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)

Obtenir une annotation de texte à partir d’un fichier 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)

Supprimer l’annotation de texte du fichier 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)

Comment ajouter (ou créer) une nouvelle annotation de texte libre

Une annotation de texte libre affiche le texte directement sur la page. La classe FreeTextAnnotation permet de créer ce type d’annotation. Dans l’extrait suivant, nous ajoutons une annotation de texte libre au-dessus de la première occurrence de la chaîne.


    import aspose.pdf as ap

    # Charger le fichier 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 = "Utilisateur Aspose"
    freeTextAnnotation.color = ap.Color.light_green

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

Obtenir une annotation de texte libre à partir d’un fichier 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)

Supprimer une annotation de texte libre d’un fichier PDF


    import aspose.pdf as ap

    # Charger le fichier 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)

Barrer des mots en utilisant StrikeOutAnnotation

Aspose.PDF pour Python vous permet d’ajouter, de supprimer et de mettre à jour des annotations dans des documents PDF. Une des classes vous permet également de barrer des annotations. Lorsqu’une StrikeOutAnnotation est appliquée à un PDF, une ligne est tracée à travers le texte spécifié, indiquant qu’il doit être supprimé ou ignoré.

Le code suivant montre comment ajouter une StrikeOutAnnotation à 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 = "Utilisateur Aspose"
    strikeoutAnnotation.subject = "Texte inséré 1"
    strikeoutAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    strikeoutAnnotation.color = ap.Color.blue

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

Obtenir StrikeOutAnnotation du 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)

Supprimer StrikeOutAnnotation du 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)