
Vi har et krav om at fjerne følsomme detaljer fra PDF-filer på grund af datahemmeligheden, så vi plejer at redigere (fjerne tekst, billede osv.) fra et bestemt sideområde i et PDF dokument. Men når vi har at gøre med et stort sæt dokumenter, skal vi bruge API’er for at opfylde dette krav.
I denne artikel vil vi diskutere trinene til, hvordan du redigerer PDF online ved hjælp af RedactionAnnotation klassen af Aspose.PDF Cloud SDK til Java.
- Installation af SDK
- Tilføj Redaction Annotation ved hjælp af Java
- Læs sideredigeringsanmærkninger
- Opdater eksisterende redigeringsannotering
Installation af SDK
Aspose.PDF Cloud SDK for Java er en programmerings-API, der er specifik for Java-udviklere, og den er bygget oven på Aspose.PDF Cloud API. Vores Cloud API’er kan bruges fra enhver platform uden nogen særlig softwareinstallation. Men for at bruge SDK’et skal du først installere det over systemet.
Cloud SDK er tilgængelig til download over Maven og GitHub. Tilføj nu følgende detaljer i din pom.xml-fil for at downloade og bruge Aspose.Pdf.jar i dit Maven-byggeprojekt.
<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>
Når SDK’et er installeret, er næste trin at få dit personlige klient-id og klienthemmelighed. Besøg Aspose.Cloud dashboard, og hvis du har GitHub eller Google-konto, skal du blot tilmelde dig. Ellers skal du klikke på knappen Opret en ny konto og angive de nødvendige oplysninger. Log nu ind på dashboardet ved hjælp af legitimationsoplysninger, og udvid applikationssektionen. Rul ned til sektionen Client Credentials for at se Client ID og Client Secret detaljer.
Tilføj Redaction Annotation ved hjælp af Java
I afsnittet nedenfor har vi forklaret trinene til, hvordan man tilføjer en rektangulær boks for at fjerne indholdet af PDF-filer ved hjælp af Aspose.PDF Cloud SDK til Java.
- Først og fremmest skal vi oprette et objekt af PdfApi, mens vi sender ClientId og ClientSecret-detaljerne hentet fra Aspose.Cloud-dashboardet.
- For det andet skal du oprette et objekt af klassen Rectangle for at angive området på siden, hvor annotation vil blive tilføjet.
- For det tredje skal du vælge standardværdien fra AnnotationFlags-optællingen og tilføje den til listen over type AnnotationFlags.
- Opret nu en forekomst af RedactionAnnotation-klassen og indstil det rektangulære område ved hjælp af setRect(…)-metoden.
- Indstil den vandrette justering ved hjælp af setHorizontalAlignment(…)-metoden og vælg Center fra HorizontalAlignment-opregningen.
- For at udfylde farven inde i Annotation skal du bruge metoden setFillColor(…) og sende farveobjektet.
- Indstil datoen for sidst ændrede annotering ved hjælp af metoden setModified(…).
- Næstsidste, opret en liste af typen RedactionAnnotation og føj RedactAnnotation-objekt til denne liste.
- Til sidst skal du kalde postPageRedactionAnnotations(…)-metoden for PdfApi og sende kildefilnavnet, sidenummeret, hvor annoteringen skal tilføjes. Send også RedactionAnnotation List som et argument for at starte redaktionsprocessen.
// Få ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
// oprette PdfApi instans
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// input PDF-dokument
String sourcePDF = "PdfWithTable.pdf";
// side i PDF for at placere annotering
int pageNumber = 1;
// opret et rektangelobjekt for at angive det redigerede annoteringsområde
// regionen beregnes fra nederst til venstre på siden
Rectangle rect = new Rectangle()
// måleenheden er punkt
.LLX(100.)
.LLY(700.)
.URX(200.)
.URY(600.);
// oprette AnnotationFlags-array
List<AnnotationFlags> flags = new ArrayList<>();
// sæt AnnotationFlag til standard
flags.add(AnnotationFlags.DEFAULT);
// oprette ArrayList af punkter
List<Point> points = new ArrayList<>();
points.add(new Point().X(10.).Y(40.));
points.add(new Point().X(30.).Y(40.));
// oprette Redact Annotation-objekt
RedactionAnnotation annotation = new RedactionAnnotation();
// angive navnet på annotation.
// Det er nyttigt, når vi har flere anmærkninger i et dokument
annotation.setName("Name");
// indstil det rektangulære område for Redact Annotation
annotation.setRect(rect);
annotation.setFlags(flags);
// sæt vandret justering som centrum
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
// sæt ZIndex til 1.
annotation.setZindex(1);
// Definer SlateBlue-farve i hex-kode
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// angiv fyldfarven for annotering
annotation.setFillColor(color);
// Datoen og klokkeslættet, hvor annoteringen sidst blev ændret.
annotation.setModified("05/21/2021 12:00:00.000 AM");
// Indstil en matrix af 8xN tal, der angiver koordinaterne
// af indholdsregion, der er beregnet til at blive fjernet.
annotation.setQuadPoint(points);
// oprette et listeobjekt af typen RedactAnnotation
List<RedactionAnnotation> annotations = new ArrayList<>();
// føj Annotations-objekt oprettet tidligere til RedactAnnotation-arrayet
annotations.add(annotation);
// tilføje RedactAnnotation til PDF-dokument
AsposeResponse response = pdfApi.postPageRedactionAnnotations(sourcePDF, pageNumber, annotations, null, null, true);
assertEquals(200, (int)response.getCode());

Billede 1:- Redact Annotation tilføjet til PDF-fil.
Download eksempelfilerne brugt i ovenstående eksempel fra
Læs sideredigeringsanmærkninger
Aspose.PDF Cloud SDK til Java tilbyder også mulighederne for at læse oplysningerne vedrørende eksisterende Redact-annotering i PDF-dokument. Nedenstående trin definerer, hvordan du læser anmærkningsdetaljer ved hjælp af Java.
// Få ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
// oprette PdfApi instans
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// input PDF-dokument
String sourcePDF = "PdfWithTable.pdf";
// Få annotationer til dokumentredigering
RedactionAnnotationsResponse responseAnnotations = pdfApi.getPageRedactionAnnotations(sourcePDF,1, null, null);
assertEquals(200, (int)responseAnnotations.getCode());
// udskrive antallet af tilgængelige anmærkninger i dokumentet
System.out.println(responseAnnotations.getAnnotations().getList().size());
Opdater eksisterende redaktionsannotering
Hvis et PDF-dokument allerede indeholder Redaction-annoteringer, kan vi også opdatere dem ved hjælp af API’en. Nedenstående er detaljerne om, hvordan man opdaterer eksisterende annotering i et PDF-dokument.
- Opret en forekomst af PdfApi, mens du sender Client ID og Client Secret detaljer som argumenter.
- Opret et rektangelobjekt for at definere området for annotering. Det beregnes fra nederst til venstre i dokumentet, og standardenheden er Point.
- Opret AnnotationFlags List og tilføj AnnotationFlags.DEFAULT værdi til listen.
- Nu skal vi oprette RedactionAnnotation-objektet og kalde setRect(…)-metoden for at definere det rektangulære område af annotationen.
- Brug metoden setModified(…) til at indstille datoen for sidste ændring af annotering.
- Kald getDocumentRedactionAnnotations(…)-metoden for PdfApi-kald for at læse listen over annoteringer fra dokumentet.
- Få fat i et bestemt annotationsobjekt ved hjælp af responseAnnotations.getAnnotations().getList().get(0).getId().
- Til sidst skal du kalde metoden putRedactionAnnotation(…) af PdfApi-klassen for at opdatere eksisterende Redaction Annotation i PDF-fil.
// Få ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
// oprette PdfApi instans
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// input PDF-dokument
String sourcePDF = "PdfWithAnnotations.pdf";
// oprette rektangulært område til annotering
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.));
// oprette Redaction Annotation-objekt
RedactionAnnotation annotation = new RedactionAnnotation();
// angive navnet til annotering
annotation.setName("Name Updated");
// indstil det rektangulære område til annotering
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);
// Definer SlateBlue farve i hex-kode
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// angiv fyldfarven for annotering
annotation.setFillColor(color);
// få eksisterende anmærkning fra dokument
RedactionAnnotationsResponse responseAnnotations = pdfApi.getDocumentRedactionAnnotations(sourcePDF, null, null);
assertEquals(200, (int)responseAnnotations.getCode());
// få annotationen ved indeks 0
String annotationId = responseAnnotations.getAnnotations().getList().get(0).getId();
// opdater annotationen ved indeks 0
AsposeResponse response = pdfApi.putRedactionAnnotation(sourcePDF, annotationId, annotation, null, null, true);
assertEquals(200, (int)response.getCode());

Billede 2:- Redact Annotation opdateret.
Ressourcefilerne brugt i ovenstående eksempel kan downloades fra følgende links
konklusion
I denne artikel har vi diskuteret trinene til, hvordan man redigerer følsomme oplysninger fra PDF-dokumenter. Bortset fra Redaction-annotering understøttes en overflod af andre annotationsfunktioner af API’et, og deres detaljer kan findes under Arbejde med annotering. Du kan overveje at besøge Produkthjemmesiden for yderligere information om dets muligheder. Hvis du har nogen relaterede forespørgsler, er du velkommen til at kontakte via Free Product Support Forum.