ใส่คำอธิบาย PDF

บล็อกนี้เป็นภาคต่อของบล็อกก่อนหน้า ซึ่งเราได้เน้นคุณลักษณะที่น่าสนใจบางอย่างของ Aspose.PDF Cloud SDK สำหรับ Java เกี่ยวกับวิธีการเพิ่ม Highlight or Strikeout Text, and add Line or Circle Annotations in PDF using Java REST API ในบทความนี้ เราจะพูดถึงรายละเอียดเกี่ยวกับการเพิ่ม Text, Polyline, Squiggly และ Attachment Annotations ในเอกสาร PDF โดยใช้ภาษาการเขียนโปรแกรม Java โดยเฉพาะ

Aspose.PDF Cloud เป็น REST API ที่ช่วยให้ผู้ใช้สามารถสร้าง จัดการ และเรนเดอร์ไฟล์ PDF ที่มีอยู่เป็น [รูปแบบเอกสารที่รองรับ] อื่นๆ ได้ 3 โดยสามารถเข้าถึง Cloud API ได้โดยใช้สองวิธีดังต่อไปนี้:

  • เข้าถึง API ผ่านคำสั่ง cURL
  • เข้าถึง API ในภาษาการเขียนโปรแกรม Java

มาหารือเพิ่มเติมเกี่ยวกับการเพิ่มคำอธิบายประกอบต่างๆ ลงในเอกสาร PDF โดยใช้คำสั่ง cURL และโค้ด Java

เพิ่มคำอธิบายโดยใช้คำสั่ง cURL

คำสั่ง cURL เป็นวิธีที่ง่ายที่สุดและเจ๋งที่สุดวิธีหนึ่งในการเข้าถึง REST API ดังนั้นเรามาพูดถึงการเพิ่มคำอธิบายประกอบต่างๆ โดยใช้คำสั่ง cURL กันดีกว่า โปรดทราบว่าแต่ละ API ยังช่วยให้คุณเข้าถึงพื้นที่จัดเก็บบนคลาวด์ที่ใช้เก็บไฟล์สำหรับการประมวลผลได้ ดังนั้น เพื่อให้แน่ใจว่าข้อมูลมีความสมบูรณ์ API ของเราจึงสามารถเข้าถึงได้โดยบุคคลที่ได้รับอนุญาตเท่านั้น ดังนั้น คุณต้องไปที่ Aspose.Cloud Dashboard ก่อน และหากคุณมีบัญชี GitHub หรือ Google ให้ลงทะเบียน มิฉะนั้น ให้คลิกที่ปุ่ม สร้างบัญชีใหม่ และระบุข้อมูลที่จำเป็น จากนั้นเข้าสู่ระบบแดชบอร์ดโดยใช้ข้อมูลประจำตัว ขยายส่วนแอปพลิเคชันจากแดชบอร์ดและเลื่อนลงไปที่ส่วนข้อมูลประจำตัวไคลเอนต์เพื่อดูรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์

ขั้นตอนถัดไปคือการสร้าง JSON Web Token (JWT) เพื่อให้สามารถเข้าถึง API ได้ผ่านทางพรอมต์คำสั่ง

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=7042694c-5251-4aba-83c9-e81e7518724f&client_secret=db246d4742e8cd22e7266c9391992689" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

คำอธิบายข้อความ

Text Annotation คือคำอธิบายประกอบที่แนบไว้กับตำแหน่งที่ระบุในเอกสาร PDF เมื่อปิดคำอธิบายประกอบแล้ว คำอธิบายประกอบจะแสดงเป็นไอคอน เมื่อเปิดขึ้นมา หน้าต่างป๊อปอัปควรแสดงข้อความหมายเหตุในแบบอักษรและขนาดที่ผู้อ่านเลือกไว้ หากต้องการเพิ่มคำอธิบายประกอบข้อความ เราจำเป็นต้องใช้ API PostPageTextAnnotation ใช้คำสั่ง cURL ต่อไปนี้เพื่อเพิ่มคำอธิบายประกอบข้อความพร้อมไอคอนหมายเหตุ

 curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/text" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "[{  \"Color\": {  \"A\": 0, \"R\": 0xDA,  \"G\": 0xA5, \"B\": 0x20    },  \"Contents\": \"Hello World \",  \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"string\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 800,      \"URX\": 100,      \"URY\": 100    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"string\",    \"Subject\": \"Subject of Annotation\",    \"Title\": \"Annotation Title\",    \"RichText\": \"string\",    \"State\": \"Undefined\",    \"Open\": true,    \"Icon\": \"Note\"  }]"
คำอธิบายข้อความใน PDF

รูปภาพ 1:- คำอธิบายข้อความพร้อมไอคอนหมายเหตุในไฟล์ PDF

ไฟล์ PDF ตัวอย่างที่ใช้ในตัวอย่างข้างต้นสามารถดาวน์โหลดได้จากลิงค์ต่อไปนี้

คำอธิบายโพลีไลน์

คำอธิบายโพลีไลน์ใช้สำหรับวาดโพลีไลน์บนหน้าด้วยมือ คำอธิบายโพลีไลน์สามารถมีด้านต่างๆ ได้หลายด้านตามที่กำหนดโดยจุดยอดโพลีไลน์ คำอธิบายโพลีไลน์ที่มีสีเติมโปร่งใสสามารถเลือกได้เฉพาะรอบเส้นที่มองเห็นได้เท่านั้น คำอธิบายโพลีไลน์สามารถเพิ่มได้โดยใช้ API PostPagePolyLineAnnotations

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/polyline" \
-H  "accept: application/json" \
-H  "authorization: Bearer " \
-H  "Content-Type: application/json" \
-d "[  {       \"Color\": {      \"A\": 0,      \"R\": 122,      \"G\": 132,      \"B\": 255    },    \"Contents\": \"Hello World...\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"Polyline\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 200,      \"URX\": 150,      \"URY\": 250    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject of Annotation\",    \"Title\": \"Title of Annotation\",    \"RichText\": \"<?xml version=\\\"1.0\\\"?><body xmlns=\\\"https://www.w3.org/1999/xhtml/\\\" xmlns:xfa=\\\"https://www.xfa.org/schema/xfa-data/1.0/\\\" xfa:APIVersion=\\\"Acrobat:7.0.0\\\" xfa:spec=\\\"2.0.2\\\" ><span style=\\\"text-decoration:;font-size:10.0pt\\\">Contents</span></body>\",    \"InteriorColor\": {      \"A\": 255,      \"R\": 120,      \"G\": 110,      \"B\": 255    },    \"StartingStyle\": \"Circle\",    \"EndingStyle\": \"OpenArrow\",    \"Intent\": \"PolyLineDimension\",    \"Vertices\": [      {            \"X\": 164.611,            \"Y\": 499.629          },          {            \"X\": 192.858,            \"Y\": 509.857          },          {            \"X\": 226.461,            \"Y\": 493.785          }    ]  }]"

คำอธิบายแบบหยักๆ

annotpdf - npm

คำอธิบายประกอบแบบหยักหรือหยักที่มีขีดเส้นใต้จะช่วยเน้นข้อมูลในเอกสาร คุณสามารถเพิ่มคำอธิบายประกอบได้โดยใช้ API PostPageSquigglyAnnotations คำสั่งด้านล่างจะช่วยให้คุณเพิ่มคำอธิบายประกอบแบบหยักในเอกสาร PDF

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/squiggly" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "[  {    \"Color\": {      \"A\": 255,      \"R\": 120,      \"G\": 123,      \"B\": 150    },    \"Contents\": \"A squiggly Annotation\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"First Annotation\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 300,      \"URX\": 120,      \"URY\": 330    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject \",    \"Title\": \"Title of Squiggly\",     \"Starting\": {      \"X\": 162.663,      \"Y\": 654.5    },    \"StartingStyle\": \"Circle\",    \"Ending\": {      \"X\": 230.845,      \"Y\": 654.5    },    \"EndingStyle\": \"OpenArrow\",    \"InteriorColor\": {      \"A\": 255,      \"R\": 220,      \"G\": 220,      \"B\": 220    },    \"LeaderLine\": 10,    \"LeaderLineExtension\": 5,    \"LeaderLineOffset\": 2.5,    \"ShowCaption\": true,    \"CaptionOffset\": {      \"X\": 7,      \"Y\": 8    },    \"CaptionPosition\": \"Top\",    \"Intent\": \"LineArrow\",\"RichText\": \"string\",    \"QuadPoints\": [      {        \"X\": 100,        \"Y\": 200      }    ]  }]"

คำอธิบายแนบ

สามารถเพิ่มไฟล์ต่างๆ เป็นคำอธิบายประกอบไฟล์แนบในเอกสาร PDF ได้ และเพื่อให้บรรลุข้อกำหนดนี้ สามารถใช้ API PostPageFileAttachmentAnnotations ได้ ดำเนินการคำสั่ง cURL ต่อไปนี้เพื่อแนบไฟล์ที่มีอยู่กับเอกสาร PDF ในตัวอย่างของเรา ไฟล์ชื่อ PdfWithTable.pdf (พร้อมใช้งานบนคลาวด์สตอเรจแล้ว) จะถูกใช้เป็นไฟล์แนบ

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/fileattachment" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
 -d "[  {       \"Color\": {      \"A\": 255,      \"R\": 120,      \"G\": 120,      \"B\": 120    },    \"Contents\": \"Content\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"FileAttachment\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 200,      \"URX\": 120,      \"URY\": 2200    },    \"PageIndex\": 1,    \"ZIndex\": 0,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Top\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject\",    \"Title\": \"Title\",    \"RichText\": \"string\",    \"Icon\": \"PushPin\",    \"Opacity\": 0,    \"FileDescription\": \"string\",    \"FileName\": \"PdfWithTable.pdf\",    \"FilePath\": \"PdfWithTable.pdf\"  }]"

เพิ่มคำอธิบายโดยใช้ Java

นอกเหนือจากคำสั่ง cURL แนวทางอื่นในการใช้ Cloud API ของเราคือการเข้าถึงผ่าน SDK การเขียนโปรแกรม เราได้พัฒนา SDK การเขียนโปรแกรมสำหรับภาษาการเขียนโปรแกรมยอดนิยม ดังนั้น หากต้องการทำงานกับคำอธิบายประกอบใน PDF โดยใช้ภาษา Java โปรดลองใช้ Aspose.PDF Cloud SDK for Java

ขั้นตอนแรกคือการติดตั้ง SKD บนระบบ 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>

สำหรับข้อมูลเพิ่มเติม โปรดไปที่ วิธีติดตั้ง Aspose.Cloud SDK

คำอธิบายข้อความ

ด้านล่างนี้เป็นขั้นตอนในการเพิ่มคำอธิบายข้อความลงในเอกสาร PDF

  • ขั้นตอนแรกคือการสร้างอ็อบเจ็กต์ PdfApi โดยที่เราระบุ ClientID และ ClientSecret เป็นอาร์กิวเมนต์
  • จากนั้นเราสร้างวัตถุ Rectangle โดยที่เพิ่มคำอธิบายประกอบ
    • LLX - พิกัด X ของมุมล่างซ้าย
    • LLY - Y - พิกัดมุมล่างซ้าย
    • URY - X - พิกัดมุมบนขวา
    • URY - Y - พิกัดมุมบนขวา
  • สร้างอ็อบเจ็กต์ TextAnnotation โดยกำหนดการจัดตำแหน่งโดยใช้เมธอด setHorizontalAlignment(..) ตั้งค่าหัวเรื่องโดยใช้เมธอด setSubject(…) ตั้งค่าสถานะเริ่มต้นโดยใช้เมธอด setState(…) เป็นต้น
  • จากนั้นสร้างวัตถุของ ArrayList<> ของชนิด TextAnnotation และเพิ่มวัตถุ TextAnnotation ที่สร้างไว้ข้างต้นลงไป
  • ในที่สุด เรียก postPageTextAnnotations(…) โดยที่เราส่งชื่อไฟล์ PDF อินพุต, PageNumber และ Annotations ArrayList ที่สร้างไว้ข้างต้นเป็นอาร์กิวเมนต์
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
				
// สร้างอินสแตนซ์ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// อินพุตเอกสาร PDF
String name = "PdfWithTable.pdf";	        
			    
// โหลดไฟล์จากระบบภายในเครื่อง
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// อัพโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// หมายเลขหน้าที่ต้องการเพิ่มคำอธิบาย
int pageNumber = 1;

// สร้างวัตถุสี่เหลี่ยมผืนผ้าโดยเพิ่มคำอธิบายประกอบ
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// สร้าง ListArray ของ AnnotationFlags
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// สร้างวัตถุ TextAnnotation
TextAnnotation textAnnotation = new TextAnnotation();
textAnnotation.setName("Annotation Name");
textAnnotation.setRect(rect);
textAnnotation.setFlags(flags);
textAnnotation.setHorizontalAlignment(HorizontalAlignment.CENTER);

// ตั้งค่าเนื้อหาที่จะแสดงภายในคำอธิบายประกอบ
textAnnotation.contents("Hello World...");
// ตั้งค่าไอคอนสำหรับคำอธิบายประกอบ
textAnnotation.icon(TextIcon.KEY);

textAnnotation.setSubject("Text Box Subj");
textAnnotation.setZindex(1);

// สถานะเริ่มต้นของวัตถุคำอธิบายประกอบ
textAnnotation.setState(AnnotationState.COMPLETED);
		        
// สร้าง ListArray ของ TextAnnotation
List<TextAnnotation> annotations = new ArrayList<>();

// เพิ่ม TextAnnotation ที่สร้างไว้ด้านบนลงในรายการอินสแตนซ์
annotations.add(textAnnotation);

// เรียกใช้เมธอดเพื่อเพิ่มคำอธิบายประกอบลงในไฟล์ PDF
AsposeResponse response = pdfApi.postPageTextAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

คำอธิบายโพลีไลน์

Cloud SDK ยังให้ความสามารถเดียวกันในการเพิ่ม Polyline Annotations ลงในเอกสาร PDF ด้านล่างนี้คือขั้นตอนและตัวอย่างโค้ดเพื่อตอบสนองความต้องการนี้

  • ขั้นแรก เราต้องสร้างอินสแตนซ์ PdfApi และอัปโหลดไฟล์ต้นฉบับไปยังที่เก็บข้อมูลบนคลาวด์
  • สร้าง ArrayList ของชนิด Point ซึ่งกำหนดจุดที่จะวาดโพลีไลน์
  • ขั้นตอนถัดไปคือการสร้างอ็อบเจ็กต์ PolyLineAnnotation โดยที่เราจะกำหนดพื้นที่สี่เหลี่ยมและส่ง Points ListArray ไปยังวิธี setVertices(…)
  • ในการตั้งค่าสีภายใน ให้ใช้เมธอด setInteriorColor(…) และส่งอินสแตนซ์ Color เป็นอาร์กิวเมนต์
  • ตอนนี้เรียกใช้เมธอด startingStyle(…) และ endingStyle(…) เพื่อกำหนดรูปแบบเริ่มต้นและสิ้นสุดของคำอธิบายประกอบ เมธอดเหล่านี้รับค่าจากการแจงนับ LineEnding เป็นอาร์กิวเมนต์
  • ในที่สุด เรียกใช้เมธอด postPagePolyLineAnnotations(…) ของคลาส PdfApi เพื่อแสดงคำอธิบายประกอบภายในเอกสาร PDF
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// สร้างอินสแตนซ์ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// อินพุตเอกสาร PDF
String name = "PdfWithTable.pdf";	        
			    
// โหลดไฟล์จากระบบภายในเครื่อง
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// อัพโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// หมายเลขหน้าสำหรับไฟล์อินพุตที่จะเพิ่มคำอธิบาย
int pageNumber = 1;

// พื้นที่สี่เหลี่ยมผืนผ้าสำหรับคำอธิบายประกอบ
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// ระบุจุดยอดสำหรับคำอธิบายประกอบ
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));

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

// สร้างวัตถุ PolyLineAnnotation
PolyLineAnnotation annotation = new PolyLineAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
// ตั้งค่าการจัดแนวแนวนอนของคำอธิบายประกอบ
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");

// สร้างวัตถุสี
Color color = new Color();
color.setA(255);
color.setR(120);
color.setG(140);
color.setB(130);

// กำหนดสีภายในสำหรับอินสแตนซ์คำอธิบายประกอบ
annotation.setInteriorColor(color);
		        
annotation.setVertices(vertices);
// ระบุรูปแบบเริ่มต้นสำหรับคำอธิบายประกอบ
annotation.startingStyle(LineEnding.OPENARROW);

// ตั้งค่ารูปแบบการสิ้นสุดสำหรับคำอธิบายประกอบ
annotation.endingStyle(LineEnding.SQUARE);

List<PolyLineAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// เรียกใช้เมธอดเพื่อเพิ่ม Polyline Annotation ลงในหน้าแรกของเอกสาร
AsposeResponse response = pdfApi.postPagePolyLineAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

คำอธิบายที่มีลักษณะหยักๆ

มีการใช้คลาสแยกต่างหากชื่อ SquigglyAnnotation เพื่อเพิ่มคำอธิบายประกอบแบบ Squiggly ลงในเอกสาร PDF ตัวอย่างโค้ดด้านล่างนี้สามารถใช้เพื่อเพิ่มคำอธิบายประกอบแบบ Squiggly ลงในไฟล์ PDF ที่มีอยู่บนระบบจัดเก็บข้อมูลบนคลาวด์

// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// สร้างอินสแตนซ์ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// อินพุตเอกสาร PDF
String name = "PdfWithTable.pdf";	        
			    
// โหลดไฟล์จากระบบภายในเครื่อง
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// อัพโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// หมายเลขหน้าสำหรับไฟล์อินพุตที่จะเพิ่มคำอธิบาย
int pageNumber = 1;

// พื้นที่สี่เหลี่ยมผืนผ้าสำหรับคำอธิบายประกอบ
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// ระบุจุดยอดสำหรับคำอธิบายประกอบ
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));

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

// สร้างวัตถุ SquigglyAnnotation
SquigglyAnnotation annotation = new SquigglyAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
		        
// สร้างวัตถุสี
Color color = new Color();
color.setA(155);
color.setR(120);
color.setG(140);
color.setB(130);

// กำหนดสีภายในสำหรับอินสแตนซ์คำอธิบายประกอบ
annotation.color(color);

// กำหนดจุดคำอธิบาย		        
annotation.setQuadPoints(vertices);

List<SquigglyAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// เรียกใช้เมธอดเพื่อเพิ่มคำอธิบายแบบ Squiggly Annotation ลงในหน้าแรกของเอกสาร
AsposeResponse response = pdfApi.postPageSquigglyAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

คำอธิบายแนบไฟล์

หากต้องการเพิ่มคำอธิบายประกอบไฟล์แนบ โปรดลองใช้โค้ดสั้นๆ ดังต่อไปนี้ คำอธิบายโค้ดจะเหมือนกับที่แชร์ไว้ในส่วนด้านบน ยกเว้นว่าคุณต้องใช้วัตถุ FileAttachmentAnnotation เพื่อให้บรรลุข้อกำหนดนี้

// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// สร้างอินสแตนซ์ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// อินพุตเอกสาร PDF
String name = "PdfWithTable.pdf";	        
			    
// โหลดไฟล์จากระบบภายในเครื่อง
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// อัพโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// หมายเลขหน้าสำหรับไฟล์อินพุตที่จะเพิ่มคำอธิบาย
int pageNumber = 1;

// พื้นที่สี่เหลี่ยมผืนผ้าสำหรับคำอธิบายประกอบ
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(100.)
    .URX(200.)
    .URY(200.);

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

// สร้างวัตถุ FileAttachmentAnnotation
FileAttachmentAnnotation annotation = new FileAttachmentAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
		        
// เส้นทางของไฟล์แนบ
annotation.setFilePath("images.jpeg");
// ชื่อไฟล์แนบ
annotation.setFileName("images.jpeg");

// สร้างรายการอินสแตนซ์ของ FileAttachment
List<FileAttachmentAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// เรียกใช้เมธอดเพื่อเพิ่ม FileAttachment Annotation ลงในหน้าแรกของเอกสาร
AsposeResponse response = pdfApi.postPageFileAttachmentAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

บทสรุป

ในบทความนี้ เราได้กล่าวถึงขั้นตอนและรายละเอียดที่เกี่ยวข้องในการเพิ่มคำอธิบายข้อความ เส้นโพลีไลน์ เส้นหยัก และไฟล์แนบในเอกสาร PDF เนื่องจาก Cloud SDK ของเราเป็นโอเพ่นซอร์ส คุณจึงสามารถดาวน์โหลดโค้ดต้นฉบับทั้งหมดได้จาก GitHub นอกจากนี้ คลังข้อมูลยังมีตัวอย่างที่เป็นประโยชน์อื่นๆ เกี่ยวกับวิธีใช้ Java Cloud SDK เพื่อสร้างและจัดการไฟล์ PDF ที่มีอยู่ หากคุณมีคำถามใดๆ ที่เกี่ยวข้อง โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนลูกค้า ฟรี

บทความที่เกี่ยวข้อง

เราขอแนะนำให้คุณอ่านบทความต่อไปนี้: