Annotations supplémentaires en utilisant Python
Comment ajouter une annotation de type Caret dans un fichier PDF existant via Python
Une annotation de type Caret est un symbole qui indique l’édition de texte. L’annotation Caret est également une annotation de balisage, donc la classe Caret dérive de la classe Markup et fournit également des fonctions pour obtenir ou définir les propriétés de l’annotation Caret et réinitialiser le flux de l’apparence de l’annotation Caret. Les annotations Caret sont souvent utilisées pour suggérer des modifications, des ajouts ou des changements au texte.
Étapes avec lesquelles nous créons une annotation Caret :
- Charger le fichier PDF - nouveau Document.
- Créer une nouvelle CaretAnnotation et définir les paramètres du Caret (nouveau Rectangle, titre, sujet, drapeaux, couleur). Cette annotation est utilisée pour indiquer l’insertion de texte.
- Une fois que nous sommes en mesure d’ajouter des annotations à la page.
Le fragment de code suivant montre comment ajouter une annotation Caret à un fichier PDF :
import aspose.pdf as ap
# Ouvrir le document
document = ap.Document(input_file)
caretAnnotation1 = ap.annotations.CaretAnnotation(
document.pages[1], ap.Rectangle(200, 700.664, 308.708, 740.769, True)
)
caretAnnotation1.title = "Utilisateur Aspose"
caretAnnotation1.subject = "Texte inséré 1"
caretAnnotation1.flags = ap.annotations.AnnotationFlags.PRINT
caretAnnotation1.color = ap.Color.blue
document.pages[1].annotations.append(caretAnnotation1)
document.save(output_file)
Obtenir l’Annotation Caret
Veuillez essayer d’utiliser l’extrait de code suivant pour obtenir l’annotation Caret dans le document PDF
import aspose.pdf as ap
document = ap.Document(input_file)
caretAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.CARET)
]
for ca in caretAnnotations:
print(ca.rect)
Supprimer l’Annotation Caret
L’extrait de code suivant montre comment supprimer l’annotation Caret d’un fichier PDF en utilisant Python.
import aspose.pdf as ap
# Charger le fichier PDF
document = ap.Document(input_file)
caretAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.CARET)
]
for ca in caretAnnotations:
document.pages[1].annotations.delete(ca)
document.save(output_file)
Ajouter une Annotation de Lien
Les liens sont des annotations qui ouvrent des URL ou se déplacent vers certaines positions à l’intérieur du même document ou d’un document externe lorsque vous cliquez.
A Link Annotations est une zone rectangulaire qui peut être placée n’importe où sur la page. Chaque lien a une action PDF correspondante qui lui est associée. Cette action est effectuée lorsque l’utilisateur clique dans la zone de ce lien.
Le code suivant montre comment ajouter une Annotation de Lien à un fichier PDF en utilisant un exemple de numéro de téléphone :
import aspose.pdf as ap
document = ap.Document(input_file)
# Créer un objet TextFragmentAbsorber pour trouver un numéro de téléphone
textFragmentAbsorber = ap.text.TextFragmentAbsorber("file")
# Accepter l'absorbeur uniquement pour la 1ère page
document.pages[1].accept(textFragmentAbsorber)
phoneNumberFragment = textFragmentAbsorber.text_fragments[1]
# Créer une Annotation de Lien et définir l'action pour appeler un numéro de téléphone
linkAnnotation = ap.annotations.LinkAnnotation(document.pages[1], phoneNumberFragment.rectangle)
linkAnnotation.action = ap.annotations.GoToURIAction("www.aspose.com")
# Ajouter l'annotation à la page
document.pages[1].annotations.append(linkAnnotation)
document.save(output_file)
Obtenir l’Annotation de Lien
Veuillez essayer d’utiliser l’extrait de code suivant pour obtenir LinkAnnotation à partir d’un document PDF.
import aspose.pdf as ap
document = ap.Document(input_file)
linkAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.LINK)
]
for la in linkAnnotations:
print(la.rect)
Supprimer l’Annotation de Lien
L’extrait de code suivant montre comment supprimer l’annotation de lien d’un fichier PDF. Pour cela, nous devons trouver et supprimer toutes les annotations de lien sur la première page. Après cela, nous enregistrerons le document avec l’annotation supprimée.
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.LINK)
]
for hs in highlightAnnotations:
document.pages[1].annotations.delete(hs)
document.save(output_file)
Rédiger une certaine région de page avec l’annotation de rédaction en utilisant Aspose.PDF pour Python
Aspose.PDF pour Python via .NET prend en charge la fonctionnalité d’ajout ainsi que la manipulation des annotations dans un fichier PDF existant. Les annotations de rédaction dans les documents PDF servent à supprimer ou masquer de manière permanente des informations confidentielles du document. Le processus d’édition des informations implique de couvrir ou d’assombrir un contenu spécifique, tel que du texte, des images ou des graphiques, de manière à restreindre sa visibilité et son accessibilité par d’autres. Cela garantit que les informations sensibles restent cachées et protégées au sein du document. Afin de répondre à cette exigence, une classe nommée RedactionAnnotation est fournie, qui peut être utilisée pour rédiger certaines régions de page ou elle peut être utilisée pour manipuler des RedactionAnnotations existantes et les rédiger (c’est-à-dire aplatir l’annotation et supprimer le texte en dessous).
import aspose.pdf as ap
document = ap.Document(input_file)
page = document.pages[1]
redactionAnnotation = ap.annotations.RedactionAnnotation(page, ap.Rectangle(270, 190, 371, 250, True))
redactionAnnotation.title = "John Smith"
redactionAnnotation.fill_color = ap.Color.light_gray
redactionAnnotation.color = ap.Color.red
redactionAnnotation.redact()
page.annotations.append(redactionAnnotation)
document.save(output_file)
Obtenir l’annotation de rédaction
import aspose.pdf as ap
document = ap.Document(input_file)
redactionAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.REDACTION)
]
for pa in redactionAnnotations:
print(pa.rect)
Supprimer l’annotation de rédaction
import aspose.pdf as ap
document = ap.Document(input_file)
redactionAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.REDACTION)
]
for pa in redactionAnnotations:
document.pages[1].annotations.delete(pa)
document.save(output_file)