PDF-anmærkning

Indholdet på en PDF-side er svært at redigere, men PDF-specifikationen definerer et komplet sæt af objekter, der kan tilføjes til PDF-sider uden at ændre sideindholdet. Disse objekter kaldes annoteringer, og deres formål spænder fra markering af sideindhold til implementering af interaktive funktioner såsom formularer.

De fleste PDF-fremvisere tillader oprettelse og redigering af forskellige annoteringstyper, f.eks. tekstfremhævninger, noter, linjer eller former, og uanset de annoteringstyper, der oprettes, bør PDF-fremvisere, der overholder PDF-specifikationen, også understøtte gengivelse for alle annotationstyper. Men når man beskæftiger sig med et stort sæt dokumenter, bliver den manuelle proces med at tilføje annoteringer besværlig, og derfor er en programmerings-API en levedygtig løsning. Vi vil yderligere diskutere brugen af Aspose.PDF Cloud SDK for Java til at tilføje annoteringer til PDF dokumenter.

Installation af SDK

Aspose.PDF Cloud SDK for Java er en programmerings-API, der gør det muligt for Java-programmører at oprette, manipulere og transformere eksisterende PDF-dokumenter til andre understøttede dokumentformater. 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>

For mere information, besøg venligst Sådan installeres Aspose.Cloud SDK’er.

Bemærk desuden, at for at sikre brugernes privatliv og dataintegritet er alle vores API’er kun tilgængelige for autoriserede personer. Derfor skal du først besøge 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 fra dashboardet, og rul ned mod sektionen Klientlegitimationsoplysninger for at se klient-id og klienthemmelighedsoplysninger.

Overstreget tekst ved hjælp af Java

Nogle gange har vi et krav om at markere bestemt indhold inde i dokumentet som forældet uden at fjerne det fra dokumentet. Gennemstregningen (også kendt som gennemstregning) er repræsenteret af ord med en vandret linje gennem deres centrum. Det antyder, at teksten er forkert eller forældet og for nylig blev slettet eller markeret som sådan. Vi kan indstille indstillingerne for gennemstregede annoteringer ved hjælp af egenskaben strikethroughSettings. Egenskaben strikethroughSettings bruges til at indstille egenskaberne farve, opacitet, forfatter, emne, modifiedDate og isLocked for gennemstregede annoteringer.

// 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";	        
			        
int pageNumber = 1;
// oprette rektangulært område til annotering  
Rectangle rect = new Rectangle()
    .LLX(200.)
    .LLY(380.)
    .URX(250.)
    .URY(375.);

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

List<Point> points = new ArrayList<>();
points.add(new Point().X(132.).Y(380.)); // Top-Left edge of the Strike Through line
points.add(new Point().X(95.).Y(10.));	// Top-Right edge of the strike through line
points.add(new Point().X(130.).Y(25.));
points.add(new Point().X(130.).Y(10.));

StrikeOutAnnotation annotation = new StrikeOutAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setQuadPoints(points);
annotation.setModified("05/22/2021 00:00:00.000 AM");
			        

List<StrikeOutAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);

AsposeResponse response = pdfApi.postPageStrikeOutAnnotations(sourcePDF, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

Tilføj fremhævningsanmærkning

Det er vigtigt at fremhæve indholdet i PDF, fordi det giver os mulighed for at henlede opmærksomheden på vigtige oplysninger i dokumentet. Fremhævning er effektivt, fordi det først beder læseren om at udvælge de vigtige dele, og derefter giver en effektiv måde at gennemgå disse oplysninger senere. Vores Cloud API giver mulighed for at fremhæve indhold i PDF-dokumenter. Nedenfor er trinene til at tilføje fremhævede annoteringer i en PDF-fil.

  • Først og fremmest skal du oprette en forekomst af PdfApi, mens du giver ClientSecret og ClientId detaljer.
  • Vi opretter en filinstans for at indlæse en PDF-fil fra det lokale system og kalder derefter uploadFile(…)-metoden for PdfApi-klassen for at uploade dokumentet til skylageret.
  • Opret nu en forekomst af klassen Rectangle for at angive det rektangulære område, hvor annotering kan tilføjes.
  • Opret derefter en ArrayList af typen Point for at indeholde oplysningerne om punkter for at tegne HighlightAnnotation.
  • Opret et objekt af klassen HighlightAnnotation og indstil Navn, Rektangulært område, Emne, Titel, QuadPoints, Annotationsændringsdato.
  • Det næste trin er at oprette en liste over HighlightAnnotation-typen og tilføje HighlightAnnotation-objekt oprettet ovenfor til denne liste.
  • Til sidst skal du kalde postPageHighlightAnnotations(…)-metoden for PdfApi-klassen og sende kilde-PDF, sidenummer og Annotations-liste som argumenter.
Fremhæv forhåndsvisning af annotering

Billede 1:- Fremhæv annotering i PDF-fil.

Du kan downloade eksempelfilerne brugt i ovenstående eksempel fra følgende links

Sådan tilføjes linjeanmærkning

I lighed med at tilføje streg- og fremhævede annoteringer, giver API’en dig også mulighed for at tilføje linjeanmærkninger i PDF-dokumenter. Vi har en klasse ved navn LineAnnotation for at opfylde dette krav. Nedenstående er yderligere detaljer om, hvordan man opfylder dette krav.

  • Først og fremmest skal du oprette en forekomst af PdfApi, mens du giver ClientSecret og ClientId detaljer.
  • Eventuelt opretter vi en filinstans for at indlæse en PDF-fil fra det lokale system og kalder derefter uploadFile(…)-metoden for PdfApi-klassen for at uploade dokumentet til skylageret. Hvis filen allerede er tilgængelig på Cloud-lagring, kan vi bruge den.
  • Resten af objektinitialiseringsegenskaberne er de samme som nævnt ovenfor for HighlithAnnotation, bortset fra at vi skal oprette et objekt af klassen LineAnnotation og sætte start- og slutpunkt for en linje ved hjælp af metoderne setStarting(…) og setEnding(…).
// Få ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
				
// oprette PdfApi instans
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// input PDF-dokument
String sourcePDF = "PdfWithTable.pdf";	        
			    
// Indlæs filen fra det lokale system
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);

// uploade filen til cloud storage
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);

// sidenummer, hvor anmærkning vil blive tilføjet				
int pageNumber = 1;

// oprette rektangulært område til annotering  
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(500.)
    .URX(400.)
    .URY(510.);

// oprette listeobjekt af typen AnnotationFlags
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// Opret linjeanmærkningsobjekt
LineAnnotation annotation = new LineAnnotation();

annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setTitle("Title");

// sæt startpunktet for linjen
annotation.setStarting(new Point().X(100.).Y(100.));
// sæt linjens slutpunkt
annotation.setEnding(new Point().X(20.).Y(680.));

// opret farveforekomst til staleblue
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// indstille annotationsfarve
annotation.interiorColor(color);

// sæt annotationsændringsdato			      
annotation.setModified("05/22/2021 00:00:00.000 AM");
			        
// Opret listeforekomst af linjeannoteringer
List<LineAnnotation> annotations = new ArrayList<>();
// føj LineAnnotation-objekt til LineAnnotations-listen
annotations.add(annotation);

// call API-metode for at tilføje linjeanmærkning til PDF-fil
AsposeResponse response = pdfApi.postPageLineAnnotations(sourcePDF, pageNumber, annotations, null, null);

Tilføjelse af cirkelanmærkning i PDF

Cirkelannoteringer er også almindeligt brugt i PDF-dokumenter, og API’en understøtter meget godt denne annoteringstype. For at tilføje cirkelannoteringer, prøv venligst at bruge klassen CircleAnnotation. Den angivne kode nedenfor kan bruges til at opfylde dette krav.

// Hent ClientID og ClientSecret fra https://dashboard.aspose.cloud/
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
				
// oprette PdfApi instans
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// input PDF-dokument
String sourcePDF = "PdfWithTable.pdf";	        
			    
// Indlæs filen fra det lokale system
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);

// uploade filen til cloud storage
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);
// sidenummer, hvor anmærkning vil blive tilføjet				
int pageNumber = 1;

// oprette rektangulært område til annotering  
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(700.)
    .URX(300.)
    .URY(500.);

// oprette listeobjekt af typen AnnotationFlags
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// Opret Fremhæv Annotations-objekt
CircleAnnotation annotation = new CircleAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setTitle("Title");

// opret farveforekomst til staleblue
Color color = new Color();
color.setR(0xC7);
color.setG(0xE2);
color.setB(0x6f);
// indstille annotationsfarve
annotation.interiorColor(color);

// sæt annotationsændringsdato			      
annotation.setModified("05/22/2021 00:00:00.000 AM");
			        
// Opret listeforekomst af fremhævede annoteringer
List<CircleAnnotation> annotations = new ArrayList<>();

// føj CircleAnnotation-objekt til CircleAnnotations-listen
annotations.add(annotation);

// kald API-metode for at tilføje Circle Annotation til PDF-fil
AsposeResponse response = pdfApi.postPageCircleAnnotations(sourcePDF, pageNumber, annotations, null, null);
Cirkelanmærkning i PDF

Billede 2:- Cirkelanmærkning i PDF-fil.

Input PDF-dokumentet og den resulterende PDF, som vist ovenfor, kan downloades fra følgende links:

Hurtigt tip

Brug vores gratis online PDF Annotation App til at fjerne alle annoteringer fra din PDF med et enkelt klik.

Konklusion

I denne blog har vi diskuteret forskellige annotationstyper, der i øjeblikket understøttes af Aspose.PDF Cloud SDK til Java. Bortset fra annoteringer understøtter API’en en overflod af andre spændende funktioner relateret til PDF-format. For mere information anbefaler vi, at du udforsker udviklervejledningen yderligere.

Vær venligst informeret om, at vi altid bestræber os på at servicere kunderne på den bedst mulige måde og anerkender deres feedback og forslag. Så hvis du støder på problemer, mens du bruger API’en, eller hvis du har en relateret forespørgsel, er du velkommen til at kontakte os via vores Gratis supportforum.

Relaterede artikler

Vi anbefaler stærkt, at du besøger følgende links for at lære mere om: