Redigere PDF online

Abbiamo l’obbligo di cancellare i dettagli sensibili dai file PDF a causa della segretezza dei dati, quindi solitamente espungiamo (rimuoviamo testo, immagine, ecc.) da una determinata regione di pagina di un documento PDF. Tuttavia, quando si ha a che fare con un ampio set di documenti, dobbiamo usare le API per soddisfare questo requisito.

In questo articolo, discuteremo i passaggi su come censurare PDF online utilizzando la classe RedactionAnnotation di Aspose.PDF Cloud SDK per Java.

Installazione dell’SDK

Aspose.PDF Cloud SDK per Java è un’API di programmazione specifica per sviluppatori Java ed è costruita su Aspose.PDF Cloud API. Le nostre API Cloud possono essere utilizzate da qualsiasi piattaforma senza alcuna installazione software particolare. Tuttavia, per utilizzare l’SDK, è necessario prima installarlo sul sistema.

Il Cloud SDK è disponibile per il download su Maven e GitHub. Ora aggiungi i seguenti dettagli nel tuo file pom.xml per scaricare e utilizzare Aspose.Pdf.jar nel tuo progetto di 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>

Una volta installato l’SDK, il passo successivo è ottenere il tuo ID cliente personalizzato e il tuo segreto cliente. Visita Aspose.Cloud dashboard e se hai un account GitHub o Google, registrati semplicemente. Altrimenti, clicca sul pulsante Crea un nuovo account e fornisci le informazioni richieste. Ora accedi alla dashboard utilizzando le credenziali ed espandi la sezione Applicazioni. Scorri verso il basso fino alla sezione Credenziali cliente per vedere i dettagli di ID cliente e segreto cliente.

Aggiungere annotazione di redazione utilizzando Java

Nella sezione sottostante abbiamo spiegato i passaggi per aggiungere una casella rettangolare per eliminare il contenuto dei file PDF utilizzando Aspose.PDF Cloud SDK per Java.

  • Per prima cosa, dobbiamo creare un oggetto PdfApi passando i dettagli ClientId e ClientSecret ottenuti dalla dashboard di Aspose.Cloud.
  • In secondo luogo, crea un oggetto della classe Rectangle per specificare l’area della pagina in cui verrà aggiunta l’annotazione.
  • In terzo luogo, selezionare il valore Predefinito dall’enumerazione AnnotationFlags e aggiungerlo all’elenco di tipo AnnotationFlags.
  • Ora crea un’istanza della classe RedactionAnnotation e imposta la regione rettangolare utilizzando il metodo setRect(…).
  • Imposta l’allineamento orizzontale utilizzando il metodo setHorizontalAlignment(…) e seleziona Centro dall’enumerazione HorizontalAlignment.
  • Per riempire il colore all’interno di Annotation, utilizzare il metodo setFillColor(…) e passare l’oggetto Color.
  • Imposta la data dell’ultima modifica dell’annotazione utilizzando il metodo setModified(…).
  • Penultimo, crea un Elenco di tipo RedactionAnnotation e aggiungi l’oggetto RedactAnnotation a questo elenco.
  • Infine, chiama il metodo postPageRedactionAnnotations(…) di PdfApi e passa il nome del file sorgente, il numero di pagina in cui deve essere aggiunta l’annotazione. Inoltre, passa RedactionAnnotation List come argomento per avviare il processo di redazione.
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// crea istanzaPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF di input
String sourcePDF = "PdfWithTable.pdf";

// pagina del PDF per inserire l'annotazione
int pageNumber = 1;

// crea un oggetto rettangolo per specificare la regione di annotazione di redazione
// la regione è calcolata dal basso a sinistra della pagina
Rectangle rect = new Rectangle()

// l'unità di misura è il punto
  .LLX(100.)
  .LLY(700.)
  .URX(200.)
  .URY(600.);

// crea array AnnotationFlags
List<AnnotationFlags> flags = new ArrayList<>();

// imposta AnnotationFlag come predefinito
flags.add(AnnotationFlags.DEFAULT);

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

// creare oggetto Redact Annotation
RedactionAnnotation annotation = new RedactionAnnotation();

// imposta il nome dell'Annotazione. 
// È utile quando abbiamo più annotazioni in un documento
annotation.setName("Name");
// imposta la regione rettangolare per l'annotazione Redact
annotation.setRect(rect);
annotation.setFlags(flags);

// imposta l'allineamento orizzontale come centro
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);

// impostare ZIndex su 1. 
annotation.setZindex(1);

// Definisci il colore SlateBlue nel codice esadecimale
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// specificare il colore di riempimento per l'annotazione
annotation.setFillColor(color);

// Data e ora dell'ultima modifica dell'annotazione.
annotation.setModified("05/21/2021 12:00:00.000 AM");

// Imposta un array di numeri 8xN specificando le coordinate 
// della regione di contenuto che si intende rimuovere.
annotation.setQuadPoint(points);
			        
// crea un oggetto elenco di tipo RedactAnnotation
List<RedactionAnnotation> annotations = new ArrayList<>();

// aggiungi l'oggetto Annotazioni creato in precedenza all'array RedactAnnotation
annotations.add(annotation);

// aggiungi RedactAnnotation al documento PDF
AsposeResponse response = pdfApi.postPageRedactionAnnotations(sourcePDF, pageNumber, annotations, null, null, true);
assertEquals(200, (int)response.getCode());
Documento PDF censurato

Immagine 1: - Annotazione di censura aggiunta al file PDF.

Scarica i file di esempio utilizzati nell’esempio precedente da

Leggi le annotazioni di redazione della pagina

Aspose.PDF Cloud SDK per Java offre anche le capacità di leggere le informazioni relative all’annotazione Redact esistente nel documento PDF. I passaggi indicati di seguito definiscono come leggere i dettagli dell’annotazione utilizzando Java.

// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// crea istanzaPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF di input
String sourcePDF = "PdfWithTable.pdf";

// Ottieni annotazioni di redazione del documento
RedactionAnnotationsResponse responseAnnotations = pdfApi.getPageRedactionAnnotations(sourcePDF,1, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// stampa il conteggio delle annotazioni disponibili nel documento
System.out.println(responseAnnotations.getAnnotations().getList().size());

Aggiorna l’annotazione di redazione esistente

Se un documento PDF contiene già annotazioni di Redaction, possiamo anche aggiornarle tramite l’API. Di seguito sono riportati i dettagli su come aggiornare le annotazioni esistenti in un documento PDF.

  • Crea un’istanza di PdfApi passando i dettagli di Client ID e Client Secret come argomenti.
  • Crea un oggetto Rectangle per definire la regione di annotazione. Viene calcolato dal Bottom-Left del documento e l’unità predefinita è Point.
  • Crea l’elenco AnnotationFlags e aggiungi il valore AnnotationFlags.DEFAULT all’elenco.
  • Ora dobbiamo creare l’oggetto RedactionAnnotation e chiamare il metodo setRect(…) per definire la regione rettangolare dell’annotazione.
  • Utilizzare il metodo setModified(…) per impostare la data dell’ultima modifica dell’annotazione.
  • Chiamare il metodo getDocumentRedactionAnnotations(…) della chiamata PdfApi per leggere l’elenco delle annotazioni dal documento.
  • Ottieni un oggetto Annotation specifico utilizzando responseAnnotations.getAnnotations().getList().get(0).getId().
  • Infine, chiama il metodo putRedactionAnnotation(…) della classe PdfApi per aggiornare l’annotazione di redazione esistente nel file PDF.
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// crea istanzaPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF di input
String sourcePDF = "PdfWithAnnotations.pdf";	        
			        
// crea una regione rettangolare per l'annotazione  
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.));

// creare oggetto Annotazione di redazione
RedactionAnnotation annotation = new RedactionAnnotation();
// imposta il nome per l'annotazione
annotation.setName("Name Updated");

// imposta la regione rettangolare per l'annotazione
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);

// Definisci il colore SlateBlue nel codice esadecimale
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);

// specificare il colore di riempimento per l'annotazione
annotation.setFillColor(color);

// ottenere l'annotazione esistente dal documento
RedactionAnnotationsResponse responseAnnotations = pdfApi.getDocumentRedactionAnnotations(sourcePDF, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// ottenere l'annotazione all'indice 0
String annotationId = responseAnnotations.getAnnotations().getList().get(0).getId();

// aggiorna l'annotazione all'indice 0
AsposeResponse response = pdfApi.putRedactionAnnotation(sourcePDF, annotationId, annotation, null, null, true);
assertEquals(200, (int)response.getCode());
Annotazione di redazione aggiornata

Immagine 2: - Annotazione Redact aggiornata.

I file di risorse utilizzati nell’esempio precedente possono essere scaricati dai seguenti link

conclusione

In questo articolo, abbiamo discusso i passaggi su come censurare informazioni sensibili da documenti PDF. Oltre all’annotazione di censura, una pletora di altre funzionalità di annotazione sono supportate dall’API e i loro dettagli possono essere trovati su Lavorare con l’annotazione. Puoi prendere in considerazione la visita alla Home page del prodotto per ulteriori informazioni sulle sue capacità. In caso di domande correlate, non esitare a contattarci tramite Forum di supporto prodotto gratuito.