PDF online redigieren

Aufgrund der Geheimhaltung müssen wir vertrauliche Informationen aus PDF Dateien entfernen. Daher entfernen wir normalerweise Text, Bilder usw. aus einem bestimmten Seitenbereich eines PDF Dokuments. Wenn wir jedoch mit einer großen Anzahl von Dokumenten arbeiten, müssen wir APIs verwenden, um diese Anforderung zu erfüllen.

In diesem Artikel besprechen wir die Schritte zum Online-Schwärzen von PDF mit der Klasse RedactionAnnotation des Aspose.PDF Cloud SDK für Java.

Installation des SDK

Aspose.PDF Cloud SDK für Java ist eine Programmier-API speziell für Java-Entwickler und basiert auf der Aspose.PDF Cloud API. Unsere Cloud-APIs können von jeder Plattform aus ohne besondere Softwareinstallation verwendet werden. Um das SDK verwenden zu können, müssen Sie es jedoch zuerst über das System installieren.

Das Cloud SDK steht zum Download über Maven und GitHub bereit. Fügen Sie nun die folgenden Details in Ihre pom.xml-Datei ein, um Aspose.Pdf.jar herunterzuladen und in Ihrem Maven-Build-Projekt zu verwenden.

<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>

Sobald das SDK installiert ist, besteht der nächste Schritt darin, Ihre personalisierte Client-ID und Ihr Client-Geheimnis zu erhalten. Bitte besuchen Sie das Aspose.Cloud-Dashboard und wenn Sie ein GitHub oder Google-Konto haben, melden Sie sich einfach an. Andernfalls klicken Sie auf die Schaltfläche Neues Konto erstellen und geben Sie die erforderlichen Informationen ein. Melden Sie sich nun mit Ihren Anmeldeinformationen beim Dashboard an und erweitern Sie den Abschnitt „Anwendungen“. Scrollen Sie nach unten zum Abschnitt „Client-Anmeldeinformationen“, um die Details zu Client-ID und Client-Geheimnis anzuzeigen.

Redigierungsanmerkungen mit Java hinzufügen

Im folgenden Abschnitt haben wir die Schritte zum Hinzufügen eines rechteckigen Felds zum Löschen des Inhalts von PDF Dateien mit Aspose.PDF Cloud SDK für Java erläutert.

  • Zuerst müssen wir ein PdfApi Objekt erstellen und dabei die vom Aspose.Cloud-Dashboard erhaltenen ClientId und ClientSecret-Details übergeben.
  • Erstellen Sie zweitens ein Objekt der Klasse „Rectangle“, um den Bereich auf der Seite anzugeben, wo die Anmerkung hinzugefügt wird.
  • Drittens wählen Sie den Standardwert aus der AnnotationFlags-Aufzählung aus und fügen Sie ihn der Liste vom Typ AnnotationFlags hinzu.
  • Erstellen Sie nun eine Instanz der Klasse RedactionAnnotation und legen Sie den rechteckigen Bereich mit der Methode setRect(…) fest.
  • Legen Sie die horizontale Ausrichtung mit der Methode setHorizontalAlignment(…) fest und wählen Sie „Center“ aus der HorizontalAlignment-Aufzählung.
  • Um die Farbe in der Annotation zu füllen, verwenden Sie die Methode setFillColor(…) und übergeben Sie das Color Objekt.
  • Legen Sie das Datum der letzten Änderung der Annotation mit der Methode setModified(…) fest.
  • Erstellen Sie als Vorletztes eine Liste vom Typ RedactionAnnotation und fügen Sie dieser Liste ein RedactAnnotation Objekt hinzu.
  • Rufen Sie abschließend die Methode postPageRedactionAnnotations(…) von PdfApi auf und übergeben Sie den Namen der Quelldatei sowie die Seitenzahl, auf der die Anmerkung hinzugefügt werden soll. Übergeben Sie außerdem die RedactionAnnotation List als Argument, um den Redaktionsprozess zu starten.
// Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// createPdfApi-Instanz
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF Dokument eingeben
String sourcePDF = "PdfWithTable.pdf";

// Seite des PDFs zum Platzieren von Anmerkungen
int pageNumber = 1;

// Erstellen Sie ein rechteckiges Objekt, um den Bereich für die Schwärzungsanmerkung anzugeben
// Die Region wird von unten links auf der Seite berechnet
Rectangle rect = new Rectangle()

// Die Maßeinheit ist Punkt
  .LLX(100.)
  .LLY(700.)
  .URX(200.)
  .URY(600.);

// AnnotationFlags-Array erstellen
List<AnnotationFlags> flags = new ArrayList<>();

// Setzen Sie das AnnotationFlag auf den Standardwert
flags.add(AnnotationFlags.DEFAULT);

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

// Redact Annotation Objekt erstellen
RedactionAnnotation annotation = new RedactionAnnotation();

// Legen Sie den Namen der Anmerkung fest. 
// Es ist nützlich, wenn wir mehrere Anmerkungen in einem Dokument haben
annotation.setName("Name");
// Legen Sie den rechteckigen Bereich für „Anmerkung redigieren“ fest.
annotation.setRect(rect);
annotation.setFlags(flags);

// Horizontale Ausrichtung als Mitte festlegen
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);

// Setzen Sie den ZIndex auf 1. 
annotation.setZindex(1);

// Definieren Sie die Farbe SlateBlue im Hex-Code
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// Geben Sie die Füllfarbe für Annotation an
annotation.setFillColor(color);

// Das Datum und die Uhrzeit der letzten Änderung der Anmerkung.
annotation.setModified("05/21/2021 12:00:00.000 AM");

// Legen Sie ein Array von 8xN Zahlen fest, die die Koordinaten angeben 
// des Inhaltsbereichs, der entfernt werden soll.
annotation.setQuadPoint(points);
			        
// Erstellen Sie ein Listenobjekt vom Typ RedactAnnotation
List<RedactionAnnotation> annotations = new ArrayList<>();

// Fügen Sie zuvor erstellte Annotationsobjekte zum RedactAnnotation-Array hinzu
annotations.add(annotation);

// RedactAnnotation zum PDF Dokument hinzufügen
AsposeResponse response = pdfApi.postPageRedactionAnnotations(sourcePDF, pageNumber, annotations, null, null, true);
assertEquals(200, (int)response.getCode());
Redigiertes PDF Dokument

Bild 1: – Redigierte Anmerkung zur PDF-Datei hinzugefügt.

Laden Sie die im obigen Beispiel verwendeten Beispieldateien herunter von

Anmerkungen zur Seitenredaktion lesen

Aspose.PDF Cloud SDK für Java bietet auch die Möglichkeit, die Informationen zu vorhandenen Redact-Anmerkungen in PDF Dokumenten zu lesen. Die unten angegebenen Schritte beschreiben, wie Anmerkungsdetails mit Java gelesen werden.

// Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// createPdfApi-Instanz
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF Dokument eingeben
String sourcePDF = "PdfWithTable.pdf";

// Abrufen von Anmerkungen zur Dokumentredaktion
RedactionAnnotationsResponse responseAnnotations = pdfApi.getPageRedactionAnnotations(sourcePDF,1, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// Drucken Sie die Anzahl der im Dokument verfügbaren Anmerkungen.
System.out.println(responseAnnotations.getAnnotations().getList().size());

Vorhandene Schwärzungsanmerkungen aktualisieren

Wenn ein PDF Dokument bereits Redigierungsanmerkungen enthält, können wir diese auch mithilfe der API aktualisieren. Nachfolgend finden Sie Einzelheiten zum Aktualisieren vorhandener Anmerkungen in einem PDF Dokument.

  • Erstellen Sie eine Instanz von PdfApi und übergeben Sie dabei die Client-ID und die Client-Secret-Details als Argumente.
  • Erstellen Sie ein Rechteckobjekt, um den Anmerkungsbereich zu definieren. Er wird von der unteren linken Ecke des Dokuments aus berechnet und die Standardeinheit ist Punkt.
  • Erstellen Sie eine AnnotationFlags-Liste und fügen Sie der Liste den Wert AnnotationFlags.DEFAULT hinzu.
  • Jetzt müssen wir das RedactionAnnotation Objekt erstellen und die Methode setRect(…) aufrufen, um den rechteckigen Bereich der Annotation zu definieren.
  • Verwenden Sie die Methode setModified(…), um das letzte Änderungsdatum der Annotation festzulegen.
  • Rufen Sie die Methode getDocumentRedactionAnnotations(…) des PdfApi-Aufrufs auf, um die Liste der Anmerkungen aus dem Dokument zu lesen.
  • Erhalten Sie ein bestimmtes Annotation Objekt mit responseAnnotations.getAnnotations().getList().get(0).getId().
  • Rufen Sie abschließend die Methode putRedactionAnnotation(…) der Klasse PdfApi auf, um vorhandene Redigierungsanmerkungen in der PDF-Datei zu aktualisieren.
// Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// createPdfApi-Instanz
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF Dokument eingeben
String sourcePDF = "PdfWithAnnotations.pdf";	        
			        
// rechteckigen Bereich für Annotation erstellen  
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.));

// Redaction Annotation Objekt erstellen
RedactionAnnotation annotation = new RedactionAnnotation();
// Legen Sie den Namen für die Anmerkung fest
annotation.setName("Name Updated");

// Legen Sie den rechteckigen Bereich für die Annotation fest
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);

// Definieren Sie die Farbe SlateBlue im Hex-Code
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);

// Geben Sie die Füllfarbe für Annotation an
annotation.setFillColor(color);

// vorhandene Annotation aus Dokument abrufen
RedactionAnnotationsResponse responseAnnotations = pdfApi.getDocumentRedactionAnnotations(sourcePDF, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// Holen Sie sich die Annotation bei Index 0
String annotationId = responseAnnotations.getAnnotations().getList().get(0).getId();

// Aktualisieren Sie die Anmerkung bei Index 0
AsposeResponse response = pdfApi.putRedactionAnnotation(sourcePDF, annotationId, annotation, null, null, true);
assertEquals(200, (int)response.getCode());
Redact-Anmerkung aktualisiert

Bild 2: – Redigierungsanmerkung aktualisiert.

Die im obigen Beispiel verwendeten Ressourcendateien können unter den folgenden Links heruntergeladen werden

Abschluss

In diesem Artikel haben wir die Schritte zum Redigieren vertraulicher Informationen aus PDF Dokumenten erläutert. Neben Redigierungsanmerkungen werden von der API eine Vielzahl anderer Anmerkungsfunktionen unterstützt. Einzelheiten dazu finden Sie unter Arbeiten mit Anmerkungen. Weitere Informationen zu den Funktionen finden Sie auf der Produkthomepage. Bei Fragen zu diesem Thema wenden Sie sich bitte über das Kostenlose Produktsupportforum an uns.