Rédiger un PDF en ligne

Nous devons supprimer les détails sensibles des fichiers PDF en raison de la confidentialité des données. Nous supprimons donc généralement le texte, l’image, etc. d’une certaine zone de page d’un document PDF. Cependant, lorsque nous traitons un grand ensemble de documents, nous devons utiliser des API pour répondre à cette exigence.

Dans cet article, nous allons discuter des étapes à suivre pour rédiger un PDF en ligne à l’aide de la classe RedactionAnnotation du Aspose.PDF Cloud SDK pour Java.

Installation du SDK

Aspose.PDF Cloud SDK for Java est une API de programmation spécifique aux développeurs Java et elle est construite sur l’API Cloud Aspose.PDF. Nos API Cloud peuvent être utilisées à partir de n’importe quelle plateforme sans aucune installation de logiciel particulière. Cependant, pour utiliser le SDK, vous devez d’abord l’installer sur le système.

Le SDK Cloud est disponible en téléchargement sur Maven et GitHub. Ajoutez maintenant les détails suivants dans votre fichier pom.xml pour télécharger et utiliser Aspose.Pdf.jar dans votre projet de build Maven.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

Une fois le SDK installé, l’étape suivante consiste à obtenir votre identifiant client personnalisé et votre secret client. Veuillez visiter le tableau de bord Aspose.Cloud et si vous avez un compte GitHub ou Google, inscrivez-vous simplement. Sinon, cliquez sur le bouton Créer un nouveau compte et fournissez les informations requises. Connectez-vous maintenant au tableau de bord à l’aide des informations d’identification et développez la section Applications. Faites défiler vers le bas jusqu’à la section Informations d’identification du client pour voir les détails de l’identifiant client et du secret client.

Ajouter une annotation de rédaction à l’aide de Java

Dans la section ci-dessous, nous avons expliqué les étapes à suivre pour ajouter une boîte rectangulaire pour supprimer le contenu des fichiers PDF à l’aide d’Aspose.PDF Cloud SDK pour Java.

  • Tout d’abord, nous devons créer un objet de PdfApi tout en transmettant les détails ClientId et ClientSecret obtenus à partir du tableau de bord Aspose.Cloud.
  • Deuxièmement, créez un objet de classe Rectangle pour spécifier la région de la page où l’annotation sera ajoutée.
  • Troisièmement, sélectionnez la valeur par défaut de l’énumération AnnotationFlags et ajoutez-la à la liste de type AnnotationFlags.
  • Créez maintenant une instance de la classe RedactionAnnotation et définissez la région rectangulaire à l’aide de la méthode setRect(…).
  • Définissez l’alignement horizontal à l’aide de la méthode setHorizontalAlignment(…) et sélectionnez Centre dans l’énumération HorizontalAlignment.
  • Afin de remplir la couleur à l’intérieur de l’annotation, utilisez la méthode setFillColor(…) et passez l’objet Color.
  • Définissez la date de dernière modification de l’annotation à l’aide de la méthode setModified(…).
  • Avant-dernier, créez une liste de type RedactionAnnotation et ajoutez l’objet RedactAnnotation à cette liste.
  • Enfin, appelez la méthode postPageRedactionAnnotations(…) de PdfApi et transmettez le nom du fichier source, le numéro de page où l’annotation doit être ajoutée. Transmettez également RedactionAnnotation List comme argument pour lancer le processus de rédaction.
// Obtenez ClientID et ClientSecret depuis https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// instance createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// document PDF d'entrée
String sourcePDF = "PdfWithTable.pdf";

// page de PDF pour placer une annotation
int pageNumber = 1;

// créer un objet rectangle pour spécifier la région d'annotation de rédaction
// la région est calculée à partir du coin inférieur gauche de la page
Rectangle rect = new Rectangle()

// l'unité de mesure est le point
  .LLX(100.)
  .LLY(700.)
  .URX(200.)
  .URY(600.);

// créer un tableau AnnotationFlags
List<AnnotationFlags> flags = new ArrayList<>();

// définir l'AnnotationFlag par défaut
flags.add(AnnotationFlags.DEFAULT);

// créer un ArrayList de points
List<Point> points = new ArrayList<>();
points.add(new Point().X(10.).Y(40.));
points.add(new Point().X(30.).Y(40.));

// créer un objet d'annotation Redact
RedactionAnnotation annotation = new RedactionAnnotation();

// définir le nom de l'annotation. 
// C'est utile lorsque nous avons plusieurs annotations dans un document
annotation.setName("Name");
// définir la région rectangulaire pour l'annotation de rédaction
annotation.setRect(rect);
annotation.setFlags(flags);

// définir l'alignement horizontal comme centre
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);

// définissez le ZIndex sur 1. 
annotation.setZindex(1);

// Définir la couleur SlateBlue dans le code hexadécimal
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// spécifier la couleur de remplissage pour l'annotation
annotation.setFillColor(color);

// La date et l'heure de la dernière modification de l'annotation.
annotation.setModified("05/21/2021 12:00:00.000 AM");

// Définir un tableau de 8xN nombres spécifiant les coordonnées 
// de la région de contenu qui est destinée à être supprimée.
annotation.setQuadPoint(points);
			        
// créer un objet Liste de type RedactAnnotation
List<RedactionAnnotation> annotations = new ArrayList<>();

// ajouter l'objet Annotations créé précédemment au tableau RedactAnnotation
annotations.add(annotation);

// ajouter RedactAnnotation au document PDF
AsposeResponse response = pdfApi.postPageRedactionAnnotations(sourcePDF, pageNumber, annotations, null, null, true);
assertEquals(200, (int)response.getCode());
Document PDF expurgé

Image 1 : Annotation de rédaction ajoutée au fichier PDF.

Téléchargez les fichiers d’exemple utilisés dans l’exemple ci-dessus à partir de

Lire les annotations de rédaction de page

Aspose.PDF Cloud SDK pour Java offre également la possibilité de lire les informations concernant les annotations Redact existantes dans un document PDF. Les étapes ci-dessous définissent comment lire les détails des annotations à l’aide de Java.

// Obtenez ClientID et ClientSecret depuis https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// instance createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// document PDF d'entrée
String sourcePDF = "PdfWithTable.pdf";

// Obtenir des annotations de rédaction de documents
RedactionAnnotationsResponse responseAnnotations = pdfApi.getPageRedactionAnnotations(sourcePDF,1, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// imprimer le nombre d'annotations disponibles dans le document
System.out.println(responseAnnotations.getAnnotations().getList().size());

Mettre à jour l’annotation de rédaction existante

Si un document PDF contient déjà des annotations de rédaction, nous pouvons également les mettre à jour à l’aide de l’API. Vous trouverez ci-dessous les détails sur la façon de mettre à jour l’annotation existante dans un document PDF.

  • Créez une instance de PdfApi tout en transmettant les détails de l’ID client et du secret client comme arguments.
  • Créez un objet Rectangle pour définir la région d’annotation. Il est calculé à partir du coin inférieur gauche du document et l’unité par défaut est le point.
  • Créez une liste AnnotationFlags et ajoutez la valeur AnnotationFlags.DEFAULT à la liste.
  • Nous devons maintenant créer l’objet RedactionAnnotation et appeler la méthode setRect(…) pour définir la région rectangulaire de l’annotation.
  • Utilisez la méthode setModified(…) pour définir la date de la dernière modification de l’annotation.
  • Appelez la méthode getDocumentRedactionAnnotations(…) de l’appel PdfApi pour lire la liste des annotations du document.
  • Obtenez un objet Annotation particulier à l’aide de responseAnnotations.getAnnotations().getList().get(0).getId().
  • Enfin, appelez la méthode putRedactionAnnotation(…) de la classe PdfApi pour mettre à jour l’annotation de rédaction existante dans le fichier PDF.
// Obtenez ClientID et ClientSecret depuis https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// instance createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// document PDF d'entrée
String sourcePDF = "PdfWithAnnotations.pdf";	        
			        
// créer une région rectangulaire pour l'annotation  
Rectangle rect = new Rectangle()
  .LLX(200.)
  .LLY(120.)
  .URX(150.)
  .URY(100.);

List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

List<Point> points = new ArrayList<>();
points.add(new Point().X(10.).Y(40.));
points.add(new Point().X(30.).Y(40.));

// créer un objet d'annotation de rédaction
RedactionAnnotation annotation = new RedactionAnnotation();
// définir le nom de l'annotation
annotation.setName("Name Updated");

// définir la région rectangulaire pour l'annotation
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.setZindex(1);
annotation.setModified("01/01/2018 12:02:03.000 AM");
annotation.setQuadPoint(points);

// Définir la couleur SlateBlue dans le code hexadécimal
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);

// spécifier la couleur de remplissage pour l'annotation
annotation.setFillColor(color);

// obtenir l'annotation existante à partir du document
RedactionAnnotationsResponse responseAnnotations = pdfApi.getDocumentRedactionAnnotations(sourcePDF, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// obtenir l'annotation à l'index 0
String annotationId = responseAnnotations.getAnnotations().getList().get(0).getId();

// mettre à jour l'annotation à l'index 0
AsposeResponse response = pdfApi.putRedactionAnnotation(sourcePDF, annotationId, annotation, null, null, true);
assertEquals(200, (int)response.getCode());
Mise à jour de l'annotation de rédaction

Image 2 : Annotation de rédaction mise à jour.

Les fichiers de ressources utilisés dans l’exemple ci-dessus peuvent être téléchargés à partir des liens suivants

conclusion

Dans cet article, nous avons abordé les étapes à suivre pour rédiger des informations sensibles à partir de documents PDF. Outre l’annotation de rédaction, de nombreuses autres fonctionnalités d’annotation sont prises en charge par l’API et leurs détails peuvent être trouvés sur Utilisation de l’annotation. Vous pouvez envisager de visiter la Page d’accueil du produit pour plus d’informations sur ses fonctionnalités. Si vous avez des questions à ce sujet, n’hésitez pas à nous contacter via Forum d’assistance produit gratuit.