PDF ანოტაცია

PDF გვერდის შინაარსის რედაქტირება რთულია, მაგრამ PDF სპეციფიკაცია განსაზღვრავს ობიექტების სრულ კომპლექტს, რომელიც შეიძლება დაემატოს PDF გვერდებს გვერდის შინაარსის შეცვლის გარეშე. ამ ობიექტებს ანოტაციებს უწოდებენ და მათი დანიშნულება მერყეობს გვერდის შინაარსის მარკირებიდან და დამთავრებული ისეთი ინტერაქტიული ფუნქციების განხორციელებამდე, როგორიცაა ფორმები.

PDF მნახველების უმეტესობა იძლევა სხვადასხვა ტიპის ანოტაციის, მაგ., ტექსტის ხაზგასმით, შენიშვნების, ხაზების ან ფორმების შექმნას და რედაქტირებას, და განურჩევლად შექმნილი ანოტაციის ტიპებისა, PDF მნახველებმა, რომლებიც შეესაბამება PDF სპეციფიკაციას, ასევე უნდა უზრუნველყონ რენდერი ყველა ტიპის ანოტაციისთვის. თუმცა, როდესაც საქმე გვაქვს დოკუმენტების დიდ ნაკრებთან, ანოტაციების დამატების ხელით პროცესი რთულდება და, შესაბამისად, პროგრამირების API სიცოცხლისუნარიანი გამოსავალია. ჩვენ შემდგომ განვიხილავთ Aspose.PDF Cloud SDK Java-ის გამოყენებას PDF დოკუმენტებში ანოტაციების დასამატებლად.

SDK-ის ინსტალაცია

Aspose.PDF Cloud SDK for Java არის პროგრამირების API, რომელიც საშუალებას აძლევს Java პროგრამისტებს შექმნან, მანიპულირება და ასევე გარდაქმნან არსებული PDF დოკუმენტები სხვა მხარდაჭერილი დოკუმენტის ფორმატებში. Cloud SDK ხელმისაწვდომია ჩამოსატვირთად Maven და GitHub-დან. ახლა დაამატეთ შემდეგი დეტალები თქვენს pom.xml ფაილში, რომ ჩამოტვირთოთ და გამოიყენოთ Aspose.Pdf.jar თქვენს Maven build პროექტში.

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

დამატებითი ინფორმაციისთვის ეწვიეთ How to install Aspose.Cloud SDKs.

გარდა ამისა, გთხოვთ, გაითვალისწინოთ, რომ მომხმარებლის კონფიდენციალურობისა და მონაცემთა მთლიანობის უზრუნველსაყოფად, ჩვენი ყველა API ხელმისაწვდომია მხოლოდ ავტორიზებული პირებისთვის. ამიტომ, ჯერ უნდა ეწვიოთ Aspose.Cloud dashboard და თუ გაქვთ GitHub ან Google ანგარიში, უბრალოდ დარეგისტრირდით. წინააღმდეგ შემთხვევაში, დააწკაპუნეთ ღილაკზე Create a new Account და მიაწოდეთ საჭირო ინფორმაცია. ახლა შედით საინფორმაციო დაფაზე რწმუნებათა სიგელების გამოყენებით და გააფართოვეთ აპლიკაციების განყოფილება დაფიდან და გადადით ქვემოთ კლიენტის სერთიფიკატების განყოფილებისკენ, რომ ნახოთ კლიენტის ID და კლიენტის საიდუმლო დეტალები.

Strikeout ტექსტი Java-ს გამოყენებით

ზოგჯერ ჩვენ გვაქვს მოთხოვნა დოკუმენტში გარკვეული შინაარსის მონიშვნა, როგორც მოძველებული დოკუმენტიდან მისი ამოღების გარეშე. Strikethrough (aka strikeout) წარმოდგენილია სიტყვებით ჰორიზონტალური ხაზით მათ ცენტრში. ეს გულისხმობს, რომ ტექსტი არის არასწორი ან მოძველებული და ახლახან წაიშალა ან მოინიშნა, როგორც ასეთი. ჩვენ შეგვიძლია დავაყენოთ ხაზგასმული ანოტაციების პარამეტრები სტრიქონის პარამეტრების საკუთრების გამოყენებით. strikethroughSettings თვისება გამოიყენება აღნიშვნის ანოტაციების ფერის, გამჭვირვალობის, ავტორის, საგნის, მოდიფიცირებული თარიღის და isLocked თვისებების დასაყენებლად.

// მიიღეთ ClientID და ClientSecret https://dashboard.aspose.cloud/-დან
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// createPdfApi მაგალითი
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF დოკუმენტის შეყვანა
String sourcePDF = "PdfWithTable.pdf";	        
			        
int pageNumber = 1;
// შექმენით მართკუთხა რეგიონი ანოტაციისთვის  
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());

დაამატეთ მონიშვნის ანოტაცია

PDF-ის შიგნით შინაარსის ხაზგასმა აუცილებელია, რადგან ის საშუალებას გვაძლევს ყურადღება მივაქციოთ დოკუმენტში არსებულ მნიშვნელოვან ინფორმაციას. ხაზგასმა ეფექტურია, რადგან ის ჯერ სთხოვს მკითხველს გამოარჩიოს მნიშვნელოვანი ნაწილები, შემდეგ კი ეფექტურ გზას აძლევს ამ ინფორმაციის მოგვიანებით გადახედვას. ჩვენი Cloud API იძლევა შესაძლებლობას გამოვყოთ შინაარსი PDF დოკუმენტებში. ქვემოთ მოცემულია ნაბიჯები ხაზგასმული ანოტაციების დასამატებლად PDF ფაილში.

  • უპირველეს ყოვლისა, შექმენით PdfApi-ის მაგალითი ClientSecret და ClientId დეტალების მიწოდებისას.
  • ჩვენ ვქმნით File ინსტანციას PDF ფაილის ლოკალური სისტემიდან ჩასატვირთად და შემდეგ მოვუწოდებთ PdfApi კლასის uploadFile(…) მეთოდს, რომ ატვირთოთ დოკუმენტი ღრუბლოვან საცავში.
  • ახლა შექმენით Rectangle კლასის მაგალითი, რათა მიუთითოთ მართკუთხა რეგიონი, სადაც შეიძლება დაემატოს ანოტაცია.
  • შემდეგ შექმენით ArrayList ტიპის Point, რათა შეინახოთ ინფორმაცია წერტილებთან დაკავშირებით HighlightAnnotation-ის დახატვისთვის.
  • შექმენით HighlightAnnotation კლასის ობიექტი და დააყენეთ სახელი, მართკუთხა რეგიონი, თემა, სათაური, QuadPoints, ანოტაციის შეცვლის თარიღი.
  • შემდეგი ნაბიჯი არის HighlightAnnotation ტიპის ჩამონათვალის შექმნა და ზემოთ შექმნილი HighlightAnnotation ობიექტის დამატება ამ სიაში.
  • და ბოლოს, გამოიძახეთ PdfApi კლასის postPageHighlightAnnotations(…) მეთოდი და არგუმენტებად გადაიტანეთ წყარო PDF, გვერდის ნომერი და ანოტაციების სია.
მონიშნეთ ანოტაციის გადახედვა

სურათი 1: - მონიშნეთ ანოტაცია PDF ფაილში.

ზემოთ მოცემულ მაგალითში გამოყენებული ფაილების ნიმუში შეგიძლიათ ჩამოტვირთოთ შემდეგი ბმულებიდან

როგორ დავამატოთ ხაზის ანოტაცია

ხაზგასმით და ხაზგასმული ანოტაციების დამატების მსგავსად, API ასევე გაძლევთ საშუალებას დაამატოთ Line Annotations PDF დოკუმენტებში. ჩვენ გვაქვს კლასი სახელად LineAnnotation ამ მოთხოვნის შესასრულებლად. ქვემოთ მოცემულია დამატებითი დეტალები, თუ როგორ უნდა შესრულდეს ეს მოთხოვნა.

  • უპირველეს ყოვლისა, შექმენით PdfApi-ის მაგალითი ClientSecret და ClientId დეტალების მიწოდებისას.
  • სურვილისამებრ, ჩვენ ვქმნით File ინსტანციას PDF ფაილის ლოკალური სისტემიდან ჩასატვირთად და შემდეგ მოვუწოდებთ PdfApi კლასის uploadFile(…) მეთოდს, რომ ატვირთოთ დოკუმენტი ღრუბლოვან საცავში. თუ ფაილი უკვე ხელმისაწვდომია ღრუბლოვან საცავში, ჩვენ შეგვიძლია გამოვიყენოთ იგი.
  • ობიექტის ინიციალიზაციის დანარჩენი თვისებები იგივეა, რაც ზემოთ აღინიშნა HighlithAnnotation-ისთვის, გარდა იმისა, რომ ჩვენ უნდა შევქმნათ LineAnnotation კლასის ობიექტი და დავაყენოთ ხაზის საწყისი და დასასრული წერტილი setStarting(…) და setEnding(…) მეთოდების გამოყენებით.
// მიიღეთ ClientID და ClientSecret https://dashboard.aspose.cloud/-დან
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
				
// createPdfApi მაგალითი
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF დოკუმენტის შეყვანა
String sourcePDF = "PdfWithTable.pdf";	        
			    
// ჩატვირთეთ ფაილი ადგილობრივი სისტემიდან
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);

// ატვირთეთ ფაილი ღრუბლოვან საცავში
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);

// გვერდის ნომერი, სადაც ანოტაცია დაემატება				
int pageNumber = 1;

// შექმენით მართკუთხა რეგიონი ანოტაციისთვის  
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(500.)
    .URX(400.)
    .URY(510.);

// შექმენით List ობიექტი AnnotationFlags ტიპის
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// შექმენით Line Annotations ობიექტი
LineAnnotation annotation = new LineAnnotation();

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

// დააყენეთ ხაზის საწყისი წერტილი
annotation.setStarting(new Point().X(100.).Y(100.));
// დააყენეთ ხაზის ბოლო წერტილი
annotation.setEnding(new Point().X(20.).Y(680.));

// შექმენით ფერადი მაგალითი stablue-სთვის
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// დააყენეთ ანოტაციის ფერი
annotation.interiorColor(color);

// დააყენეთ ანოტაციის შეცვლის თარიღი			      
annotation.setModified("05/22/2021 00:00:00.000 AM");
			        
// შექმენით ხაზების ანოტაციების სიის მაგალითი
List<LineAnnotation> annotations = new ArrayList<>();
// დაამატეთ LineAnnotation ობიექტი Line Annotations სიას
annotations.add(annotation);

// გამოიძახეთ API მეთოდი PDF ფაილში Line Annotation-ის დასამატებლად
AsposeResponse response = pdfApi.postPageLineAnnotations(sourcePDF, pageNumber, annotations, null, null);

წრის ანოტაციის დამატება PDF-ში

წრის ანოტაციები ასევე ხშირად გამოიყენება PDF დოკუმენტების შიგნით და API ძალიან კარგად უჭერს მხარს ამ ანოტაციის ტიპს. წრის ანოტაციების დასამატებლად, გთხოვთ, სცადოთ CircleAnnotation კლასის გამოყენება. ქვემოთ მითითებული კოდი შეიძლება გამოყენებულ იქნას ამ მოთხოვნის შესასრულებლად.

// მიიღეთ ClientID და ClientSecret https://dashboard.aspose.cloud/-დან
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
				
// createPdfApi მაგალითი
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF დოკუმენტის შეყვანა
String sourcePDF = "PdfWithTable.pdf";	        
			    
// ჩატვირთეთ ფაილი ადგილობრივი სისტემიდან
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);

// ატვირთეთ ფაილი ღრუბლოვან საცავში
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);
// გვერდის ნომერი, სადაც დაემატება ანოტაცია				
int pageNumber = 1;

// შექმენით მართკუთხა რეგიონი ანოტაციისთვის  
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(700.)
    .URX(300.)
    .URY(500.);

// შექმენით List ობიექტი AnnotationFlags ტიპის
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// შექმენით Highlight Annotations ობიექტი
CircleAnnotation annotation = new CircleAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setTitle("Title");

// შექმენით ფერადი მაგალითი stablue-სთვის
Color color = new Color();
color.setR(0xC7);
color.setG(0xE2);
color.setB(0x6f);
// დააყენეთ ანოტაციის ფერი
annotation.interiorColor(color);

// დააყენეთ ანოტაციის შეცვლის თარიღი			      
annotation.setModified("05/22/2021 00:00:00.000 AM");
			        
// შექმენით სიის მაგალითი Highlight Annotations
List<CircleAnnotation> annotations = new ArrayList<>();

// დაამატეთ CircleAnnotation ობიექტი Circle Annotations სიაში
annotations.add(annotation);

// გამოიძახეთ API მეთოდი, რომ დაამატოთ წრის ანოტაცია PDF ფაილში
AsposeResponse response = pdfApi.postPageCircleAnnotations(sourcePDF, pageNumber, annotations, null, null);
წრის ანოტაცია PDF-ში

სურათი 2: - წრის ანოტაცია PDF ფაილში.

შეყვანილი PDF დოკუმენტი და შედეგად მიღებული PDF, როგორც ზემოთ არის ნაჩვენები, შეგიძლიათ ჩამოტვირთოთ შემდეგი ბმულებიდან:

სწრაფი რჩევა

გამოიყენეთ ჩვენი უფასო ონლაინ PDF Annotation App, რათა ამოიღოთ ყველა ანოტაცია თქვენი PDF-დან ერთი დაწკაპუნებით.

დასკვნა

ამ ბლოგში ჩვენ განვიხილეთ ანოტაციების სხვადასხვა ტიპები, რომლებსაც ამჟამად მხარს უჭერს Aspose.PDF Cloud SDK Java-სთვის. ანოტაციების გარდა, API მხარს უჭერს PDF ფორმატთან დაკავშირებული სხვა საინტერესო ფუნქციების სიმრავლეს. დამატებითი ინფორმაციისთვის, გირჩევთ, შემდგომ შეისწავლოთ დეველოპერთა სახელმძღვანელო.

გაცნობებთ, რომ ჩვენ ყოველთვის ვცდილობთ მაქსიმალურად მოვემსახუროთ მომხმარებლებს და ვაღიაროთ მათი გამოხმაურება და წინადადებები. ასე რომ, თუ რაიმე პრობლემას წააწყდებით API-ს გამოყენებისას ან გაქვთ რაიმე დაკავშირებული შეკითხვა, გთხოვთ, მოგერიდებათ დაგვიკავშირდეთ ჩვენი [უფასო მხარდაჭერის ფორუმის] მეშვეობით 22.

დაკავშირებული სტატიები

ჩვენ გირჩევთ ეწვიოთ შემდეგ ბმულებს მეტი ინფორმაციისთვის: