วิธีเพิ่มลูกศร PDF ใน Java: คู่มือครบวงจรของ GroupDocs
บทนำ
เคยต้องการเน้นส่วนเฉพาะใน PDF หรือชี้ให้เห็นรายละเอียดสำคัญสำหรับทีมของคุณหรือไม่? การเพิ่มลูกศรลงในเอกสาร PDF เป็นวิธีที่มีประสิทธิภาพที่สุดในการเพิ่มความชัดเจน ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีเพิ่มลูกศร PDF ด้วย GroupDocs.Annotation สำหรับ Java ไม่ว่าคุณจะกำลังเตรียมเอกสารทางเทคนิค วัสดุการศึกษา หรือการตรวจทานร่วมกัน เราจะพาคุณผ่านทุกขั้นตอนตั้งแต่การตั้งค่าเริ่มต้นจนถึงการปรับแต่งขั้นสูง พร้อมเคล็ดลับการแก้ไขปัญหาที่ช่วยประหยัดเวลา
คำตอบอย่างรวดเร็ว
- ไลบรารีใดที่เพิ่มลูกศรลงใน pdf? GroupDocs.Annotation สำหรับ Java
- ต้องใช้โค้ดกี่บรรทัด? ประมาณ 20 บรรทัดสำหรับลูกศรพื้นฐาน
- ต้องมีลิขสิทธิ์หรือไม่? ทดลองใช้ฟรีสำหรับการทดสอบ; การใช้งานจริงต้องมีลิขสิทธิ์เชิงพาณิชย์
- สามารถปรับสีของลูกศรได้หรือไม่? ได้, ผ่านคุณสมบัติ ArrowAnnotation (ดูส่วนขั้นสูง)
- ปลอดภัยต่อการทำงานหลายเธรดหรือไม่? ใช้ตัวแปร Annotator แยกต่อแต่ละเธรด
วิธีเพิ่มลูกศร PDF ด้วย GroupDocs.Annotation
ด้านล่างเป็นภาพรวมสั้น ๆ ของสิ่งที่คุณต้องเตรียมก่อนเริ่มเขียนโค้ด
ข้อกำหนดเบื้องต้นและการตั้งค่า
ไลบรารีและการพึ่งพาที่จำเป็น
เพื่อใช้ GroupDocs.Annotation สำหรับ Java คุณต้องเพิ่มเข้าไปในโปรเจกต์ผ่าน Maven นี่คือการกำหนดค่าในไฟล์ pom.xml ของคุณ:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/annotation/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-annotation</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
รายการตรวจสอบการตั้งค่าสภาพแวดล้อม
- Java Development Kit (JDK): เวอร์ชัน 8 หรือสูงกว่า
- IDE: IntelliJ IDEA, Eclipse หรือ IDE Java ที่คุณชื่นชอบ
- Maven: สำหรับการจัดการการพึ่งพา (หรือ Gradle หากคุณต้องการ)
- PDF ตัวอย่าง: เอกสาร PDF เพื่อทดสอบ
ข้อกำหนดลิขสิทธิ์
GroupDocs มีตัวเลือกลิขสิทธิ์หลายแบบตามความต้องการของคุณ:
- Free Trial: เหมาะสำหรับการทดสอบและโครงการขนาดเล็ก ดาวน์โหลดจาก GroupDocs releases
- Temporary License: ต้องการเวลาประเมินเพิ่ม? รับได้ที่ here
- Commercial License: สำหรับการใช้งานในผลิตภัณฑ์ ซื้อได้ที่ here
เคล็ดลับมืออาชีพ: เริ่มต้นด้วยการทดลองฟรีเพื่อทำความคุ้นเคยกับ API ก่อนตัดสินใจซื้อไลเซนส์
การติดตั้ง GroupDocs.Annotation สำหรับ Java
การกำหนดค่า Maven
เพิ่มการกำหนดค่า Maven ที่แสดงด้านบนลงในไฟล์ pom.xml ของคุณ หากคุณใช้ Gradle ให้ใช้การกำหนดค่าเทียบเคียงดังนี้:
repositories {
maven {
url "https://releases.groupdocs.com/annotation/java/"
}
}
dependencies {
implementation 'com.groupdocs:groupdocs-annotation:25.2'
}
การเริ่มต้นพื้นฐาน
เมื่อติดตั้งไลบรารีแล้ว ให้ตั้งค่าการนำเข้าเบื้องต้นในคลาส Java ของคุณ:
import com.groupdocs.annotation.Annotator;
import com.groupdocs.annotation.models.annotationmodels.ArrowAnnotation;
import com.groupdocs.annotation.models.Rectangle;
ขั้นตอนการตรวจสอบ
เพื่อยืนยันว่าการติดตั้งทำงานอย่างถูกต้อง ให้ลองสร้างอินสแตนซ์ Annotator อย่างง่าย:
public class AnnotationTest {
public static void main(String[] args) {
try {
System.out.println("GroupDocs.Annotation loaded successfully!");
} catch (Exception e) {
System.err.println("Error loading GroupDocs.Annotation: " + e.getMessage());
}
}
}
การทำตามขั้นตอนอย่างละเอียด: การเพิ่มลูกศรลงใน PDF
นี่คือส่วนสำคัญ! เราจะเดินผ่านกระบวนการทั้งหมดในการเพิ่มคำอธิบายลูกศรลงในเอกสาร PDF ของคุณ
ทำความเข้าใจ Arrow Annotations
Arrow annotations ใน GroupDocs เป็นองค์ประกอบภาพที่ชี้จากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่งบนเอกสารของคุณ ถูกกำหนดโดย:
- จุดเริ่มต้น – ตำแหน่งที่ลูกศรเริ่มต้น
- จุดสิ้นสุด – ตำแหน่งที่ลูกศรชี้ไป
- คุณสมบัติสไตล์ – สี, ความหนา, และลักษณะการแสดงผล
การเข้าใจ ระบบพิกัดของ PDF จะช่วยให้คุณวางตำแหน่งลูกศรได้อย่างแม่นยำ โดยเฉพาะอย่างยิ่งเพราะพิกัด PDF เริ่มจากมุมล่างซ้าย
ตัวอย่างการทำงานเต็มรูปแบบ
นี่คือตัวอย่างที่ครอบคลุมการเพิ่มลูกศรลงในเอกสาร PDF:
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/input_document.pdf";
try (Annotator annotator = new Annotator(inputFilePath)) {
// Create arrow annotation
final ArrowAnnotation arrowAnnotation = new ArrowAnnotation();
arrowAnnotation.setBox(new Rectangle(100, 100, 200, 200));
// Add annotation to document
annotator.add(arrowAnnotation);
// Save the annotated document
String outputPath = "YOUR_OUTPUT_DIRECTORY/annotated_output.pdf";
annotator.save(outputPath);
System.out.println("Arrow annotation added successfully!");
}
มาดูรายละเอียดทีละขั้นตอน:
ขั้นตอนที่ 1: เริ่มต้น Annotator
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/input_document.pdf";
try (Annotator annotator = new Annotator(inputFilePath)) {
// Your annotation code goes here
}
เกิดอะไรขึ้น? เรากำลังสร้างอินสแตนซ์ Annotator ที่โหลดไฟล์ PDF ของคุณ คำสั่ง try‑with‑resources จะทำให้แน่ใจว่าทรัพยากรระบบถูกทำความสะอาดอย่างเหมาะสม
ข้อผิดพลาดทั่วไปที่ควรหลีกเลี่ยง: ตรวจสอบให้แน่ใจว่าเส้นทางไฟล์ถูกต้องและไฟล์มีอยู่จริง หากได้รับ FileNotFoundException ให้ตรวจสอบเส้นทางอีกครั้ง
ขั้นตอนที่ 2: สร้างและกำหนดค่า Arrow Annotation
final ArrowAnnotation arrowAnnotation = new ArrowAnnotation();
arrowAnnotation.setBox(new Rectangle(100, 100, 200, 200));
ทำความเข้าใจพารามิเตอร์ Rectangle:
- ค่าแรก (100): พิกัด X ของจุดเริ่มต้น
- ค่าแรกที่สอง (100): พิกัด Y ของจุดเริ่มต้น
- ค่าแรกที่สาม (200): ความกว้างของกล่องล้อมรอบลูกศร
- ค่าแรกที่สี่ (200): ความสูงของกล่องล้อมรอบลูกศร
เคล็ดลับการวางตำแหน่ง: พิกัด PDF เริ่มจากมุมล่างซ้าย ซึ่งอาจทำให้สับสนหากคุณคุ้นเคยกับการพัฒนาเว็บที่ (0,0) อยู่มุมบนซ้าย
ขั้นตอนที่ 3: เพิ่ม Annotation
annotator.add(arrowAnnotation);
บรรทัดนี้จะเพิ่ม Arrow Annotation ที่กำหนดค่าไว้ลงในเอกสารในหน่วยความจำ เอกสารจะไม่ถูกแก้ไขจนกว่าคุณ จะบันทึก PDF ที่มีการอธิบาย
ขั้นตอนที่ 4: บันทึกเอกสารที่มีการอธิบาย
String outputPath = "YOUR_OUTPUT_DIRECTORY/annotated_output.pdf";
annotator.save(outputPath);
บรรทัดนี้จะสร้างไฟล์ PDF ใหม่ที่มีลูกศรของคุณ เอกสารต้นฉบับจะไม่ถูกเปลี่ยนแปลง
การปรับแต่งลูกศรขั้นสูง
ต้องการทำให้ลูกศรของคุณดูสวยงามยิ่งขึ้น? นี่คือตัวเลือกการปรับแต่งขั้นสูงบางส่วน:
การตั้งค่าสีและสไตล์ของลูกศร
แม้ว่าตัวอย่างพื้นฐานจะใช้สไตล์เริ่มต้น คุณสามารถ ปรับสีของลูกศร ได้โดยตั้งค่าคุณสมบัติเฉพาะบน ArrowAnnotation ตรวจสอบเอกสาร GroupDocs เพื่อดูตัวเลือกสไตล์ล่าสุดในเวอร์ชัน 25.2
การเพิ่มหลายลูกศรในเอกสารเดียว
คุณสามารถเพิ่มหลายลูกศรลงในเอกสารเดียวได้:
try (Annotator annotator = new Annotator(inputFilePath)) {
// First arrow
ArrowAnnotation arrow1 = new ArrowAnnotation();
arrow1.setBox(new Rectangle(100, 100, 200, 200));
// Second arrow
ArrowAnnotation arrow2 = new ArrowAnnotation();
arrow2.setBox(new Rectangle(300, 300, 150, 150));
// Add both arrows
annotator.add(arrow1);
annotator.add(arrow2);
annotator.save(outputPath);
}
ปัญหาที่พบบ่อยและการแก้ไขข้อผิดพลาด
จากประสบการณ์ของนักพัฒนาจริง นี่คือปัญหาที่พบบ่อยที่สุดและวิธีแก้ไข:
ปัญหา 1: ไม่เห็นลูกศร
อาการ: โค้ดทำงานโดยไม่มีข้อผิดพลาด แต่ไม่มีลูกศรปรากฏใน PDF
วิธีแก้:
- ตรวจสอบว่าพิกัด
Rectangleอยู่ภายในขอบเขตของหน้า - ยืนยันว่าลูกศรไม่ได้อยู่นอกพื้นที่ที่มองเห็นได้
- ตรวจสอบว่าไฟล์ผลลัพธ์ถูกสร้างในตำแหน่งที่คาดหวัง
ปัญหา 2: ข้อผิดพลาดการอนุญาตไฟล์
อาการ: IOException ขณะพยายามบันทึกเอกสารที่มีการอธิบาย
วิธีแก้:
- ตรวจสอบสิทธิ์การเขียนของไดเรกทอรีผลลัพธ์
- ปิดโปรแกรมดู PDF ที่อาจเปิดไฟล์ผลลัพธ์อยู่
- ใช้ชื่อไฟล์ผลลัพธ์ที่แตกต่างกันเพื่อหลีกเลี่ยงความขัดแย้ง
ปัญหา 3: ปัญหาหน่วยความจำกับไฟล์ขนาดใหญ่
อาการ: OutOfMemoryError ขณะประมวลผลไฟล์ PDF ขนาดใหญ่
วิธีแก้:
- เพิ่มขนาด heap ของ JVM, ตัวอย่างเช่น
-Xmx2gเพื่อ เพิ่ม heap ของ JVM สำหรับงานขนาดใหญ่ - ประมวลผลเอกสารเป็นชุดหากต้องจัดการหลายไฟล์
- ใช้ try‑with‑resources เสมอเพื่อให้แน่ใจว่าทรัพยากรถูกทำความสะอาดอย่างเหมาะสม
ปัญหา 4: ความสับสนเรื่องพิกัด
อาการ: ลูกศรปรากฏในตำแหน่งที่ไม่คาดคิด
วิธีแก้:
- จำไว้ว่า พิกัด PDF เริ่มจากมุมล่างซ้าย ไม่ใช่มุมบนซ้าย
- ใช้เครื่องมือพิกัด PDF เพื่อระบุตำแหน่งที่แม่นยำ
- เริ่มต้นด้วยพิกัดง่าย ๆ (เช่น 100, 100) แล้วปรับตามต้องการ
แนวทางปฏิบัติที่ดีที่สุดด้านประสิทธิภาพ
เมื่อทำงานกับการอธิบาย PDF ในแอปพลิเคชันระดับผลิตภัณฑ์ ควรพิจารณากลยุทธ์การเพิ่มประสิทธิภาพต่อไปนี้:
การจัดการหน่วยความจำ
ใช้บล็อก try‑with‑resources เสมอเพื่อให้แน่ใจว่าทรัพยากรถูกทำความสะอาดอย่างเหมาะสม:
try (Annotator annotator = new Annotator(inputFilePath)) {
// Your annotation code
} // Automatically closes and frees resources
การประมวลผลเป็นชุด
หากต้องประมวลผลหลายเอกสาร ให้ทำเป็นลำดับต่อเนื่องแทนการโหลดทั้งหมดพร้อมกัน:
List<String> documents = Arrays.asList("doc1.pdf", "doc2.pdf", "doc3.pdf");
for (String doc : documents) {
try (Annotator annotator = new Annotator(doc)) {
// Process each document
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 200, 200));
annotator.add(arrow);
annotator.save(doc.replace(".pdf", "_annotated.pdf"));
}
}
การปรับแต่ง JVM
สำหรับแอปพลิเคชันที่ประมวลผลไฟล์ PDF จำนวนมากหรือขนาดใหญ่ ให้พิจารณาตัวเลือก JVM ต่อไปนี้:
java -Xms512m -Xmx2g -XX:+UseG1GC YourApplication
ตัวอย่างการใช้งานจริง
มาดูสถานการณ์ที่ลูกศรอธิบายทำให้เกิดประโยชน์สูงสุด:
กรณีใช้งาน 1: เอกสารการตรวจทานโค้ด
เมื่อทำเอกสารการตรวจทานโค้ดหรือการเปลี่ยนแปลง API ลูกศรสามารถชี้ไปยังบรรทัดหรือส่วนที่ต้องให้ความสนใจ:
// Perfect for highlighting problematic code sections
ArrowAnnotation reviewArrow = new ArrowAnnotation();
reviewArrow.setBox(new Rectangle(50, 400, 100, 50)); // Points to a specific line
กรณีใช้งาน 2: วัสดุการศึกษา
สำหรับ PDF สอนหรือเอกสารแนะนำ ลูกศรช่วยนำผู้อ่านผ่านขั้นตอนต่าง ๆ อย่างเป็นระบบ:
// Highlighting the next step in a tutorial
ArrowAnnotation stepArrow = new ArrowAnnotation();
stepArrow.setBox(new Rectangle(200, 300, 150, 100));
กรณีใช้งาน 3: สเปคทางเทคนิค
ในแบบแปลนสถาปัตยกรรมหรือสเปคทางเทคนิค ลูกศรสามารถบ่งบอกทิศทางการไหลหรือไฮไลท์การวัดที่สำคัญ
การผสานรวมกับระบบจัดการเอกสาร
ลูกศรอธิบายทำงานได้ดีเมื่อรวมกับเวิร์กโฟลว์การจัดการเอกสารที่ใหญ่ขึ้น:
- Version Control: เอกสารที่มีการอธิบายสามารถเวอร์ชันควบคู่กับโค้ดของคุณได้
- Automated Workflows: เริ่มกระบวนการอธิบายอัตโนมัติตามการอัปเดตเอกสาร
- Collaborative Platforms: ผสานรวมกับเครื่องมือเช่น SharePoint หรือ Google Drive
สรุป
ขอแสดงความยินดี! คุณได้เรียนรู้ วิธีเพิ่มลูกศร PDF ด้วย GroupDocs.Annotation สำหรับ Java ฟีเจอร์ทรงพลังนี้สามารถปรับปรุงการสื่อสารในเอกสารได้อย่างมาก ไม่ว่าคุณจะทำการตรวจทานโค้ด สร้างเนื้อหาการศึกษา หรือทำงานร่วมกับทีม
ประเด็นสำคัญ
- ลูกศรอธิบายช่วยเพิ่มความชัดเจนและการทำงานร่วมกันของเอกสาร
- GroupDocs.Annotation มี API ที่ใช้งานง่ายสำหรับ pdf annotation java
- การจัดการทรัพยากรและการจัดการข้อผิดพลาดอย่างเหมาะสมเป็นสิ่งสำคัญสำหรับการใช้งานในผลิตภัณฑ์
- การเข้าใจระบบพิกัดของ PDF ป้องกันปัญหาการวางตำแหน่งที่พบบ่อย
ขั้นตอนต่อไป
พร้อมที่จะยกระดับทักษะการอธิบาย PDF ของคุณหรือยัง? ลองสำรวจต่อไปนี้:
- การอธิบายข้อความสำหรับคอมเมนต์ละเอียด
- การอธิบายรูปทรงเพื่อไฮไลท์พื้นที่
- การอธิบายสแตมป์สำหรับกระบวนการอนุมัติ
- การผสานหลายประเภทของการอธิบายในเอกสารที่ซับซ้อน
ลงมือทำ: ลองนำลูกศรอธิบายไปใช้ในโปรเจกต์ปัจจุบันของคุณ เริ่มจากตัวอย่างพื้นฐาน แล้วทดลองปรับสี เพิ่มหลายลูกศร และประมวลผลเป็นชุด
คำถามที่พบบ่อย
Arrow annotation คืออะไรและควรใช้เมื่อไหร่?
Arrow annotation คือเครื่องหมายชี้ภาพที่ดึงความสนใจไปยังพื้นที่เฉพาะของเอกสาร ใช้เมื่อต้องการเน้นความสัมพันธ์ระหว่างส่วนต่าง ๆ ของเอกสาร ชี้ทิศทางหรือกระแส หรือเพียงแค่ชี้ข้อมูลสำคัญที่อาจมองข้ามได้
สามารถเพิ่มลูกศรในรูปแบบไฟล์อื่นนอกจาก PDF ได้หรือไม่?
ได้! GroupDocs.Annotation รองรับหลายรูปแบบรวมถึงเอกสาร Word (DOC/DOCX), แผ่นงาน Excel (XLS/XLSX), งานนำเสนอ PowerPoint (PPT/PPTX) และรูปภาพหลายประเภท (PNG, JPG, TIFF) API จะคงที่ในทุกรูปแบบไฟล์
จะจัดการไฟล์ PDF ขนาดใหญ่โดยไม่เกิดปัญหาหน่วยความจำได้อย่างไร?
สำหรับไฟล์ขนาดใหญ่ ให้เพิ่มขนาด heap ของ JVM ด้วยพารามิเตอร์ -Xmx ใช้บล็อก try‑with‑resources เพื่อทำความสะอาดทรัพยากร และพิจารณาประมวลผลเอกสารเป็นชุดแทนการทำทั้งหมดพร้อมกัน นอกจากนี้ ปิดแอปพลิเคชันที่ไม่จำเป็นซึ่งอาจใช้หน่วยความจำ
ทำไมไม่เห็นลูกศรอธิบายใน PDF ที่บันทึกออกมา?
สาเหตุส่วนใหญ่คือพิกัดของลูกศรอยู่นอกพื้นที่ที่มองเห็นได้ ตรวจสอบพิกัด Rectangle ให้แน่ใจว่าอยู่ภายในขนาดหน้าของ PDF อีกทั้งยืนยันว่าไฟล์ผลลัพธ์ถูกบันทึกในตำแหน่งที่ถูกต้องและคุณเปิดไฟล์ที่ถูกต้อง
มีขีดจำกัดจำนวนลูกศรที่สามารถเพิ่มใน PDF เดียวได้หรือไม่?
GroupDocs.Annotation ไม่ได้กำหนดขีดจำกัดที่แน่นอน แต่การเพิ่มคำอธิบายจำนวนมากอาจส่งผลต่อประสิทธิภาพและขนาดไฟล์ สำหรับเอกสารที่มีคำอธิบายจำนวนมาก ควรจัดเรียงเป็นหลายหน้า หรือใช้ประเภทคำอธิบายอื่นเพื่อหลีกเลี่ยงความแออัด
จะวางตำแหน่งลูกศรให้ตรงกับข้อความหรือองค์ประกอบเฉพาะได้อย่างไร?
การกำหนดตำแหน่งใน PDF ค่อนข้างซับซ้อนเนื่องจากพิกัดเริ่มจากมุมล่างซ้าย ใช้เครื่องมือแก้ไข PDF เพื่อระบุพิกัดที่แม่นยำ หรือเริ่มจากตำแหน่งประมาณแล้วปรับเพิ่มทีละน้อย คุณยังสามารถดึงตำแหน่งข้อความโปรแกรมmatically หากต้องการความแม่นยำระดับพิกเซล
สามารถปรับลักษณะของลูกศร (สี, ความหนา, สไตล์) ได้หรือไม่?
คลาส ArrowAnnotation พื้นฐานให้ฟังก์ชันลูกศรพื้นฐาน สำหรับสไตล์ขั้นสูงเช่นสี, ความหนา หรือรูปแบบเส้น ให้ดูเอกสาร GroupDocs.Annotation เวอร์ชันล่าสุด เนื่องจากฟีเจอร์เหล่านี้อาจเพิ่มในเวอร์ชันใหม่
ความแตกต่างระหว่างรุ่นทดลองและรุ่นที่มีลิขสิทธิ์คืออะไร?
รุ่นทดลองมักมีลายน้ำหรือจำกัดจำนวนเอกสารที่ประมวลผลได้ ส่วนรุ่นที่มีลิขสิทธิ์จะลบข้อจำกัดเหล่านี้และออกแบบสำหรับการใช้งานในผลิตภัณฑ์ ตรวจสอบเว็บไซต์ GroupDocs สำหรับรายละเอียดข้อจำกัดของรุ่นทดลองในปัจจุบัน
จะผสานรวมลูกศรอธิบายกับเวิร์กโฟลว์เอกสารที่มีอยู่ได้อย่างไร?
พิจารณาสร้างเมธอดห่อที่ทำให้กระบวนการอธิบายเป็นมาตรฐาน ใช้การประมวลผลเป็นชุดสำหรับหลายไฟล์ และผสานกับระบบควบคุมเวอร์ชัน คุณยังสามารถสร้างเทมเพลตสำหรับรูปแบบอธิบายที่ใช้บ่อยเพื่อเร่งกระบวนการทำซ้ำ
จะหาความช่วยเหลือเมื่อเจอปัญหาที่ไม่ได้กล่าวถึงในที่นี้ได้จากที่ไหน?
สำหรับการสนับสนุนเพิ่มเติม ให้เยี่ยมชม GroupDocs support forum ที่คุณสามารถตั้งคำถามและรับความช่วยเหลือจากชุมชนและทีมงาน GroupDocs เอกสารอย่างเป็นทางการ official documentation ยังมีอ้างอิง API และตัวอย่างอย่างครบถ้วน
แหล่งข้อมูลเพิ่มเติม
- Documentation: https://docs.groupdocs.com/annotation/java/
- API Reference: https://reference.groupdocs.com/annotation/java/
- Download Latest Version: https://releases.groupdocs.com/annotation/java/
- Purchase License: https://purchase.groupdocs.com/buy
- Get Temporary License: https://purchase.groupdocs.com/temporary-license/
- Community Support: https://forum.groupdocs.com/c/annotation/
อัปเดตล่าสุด: 2026-03-22
ทดสอบกับ: GroupDocs.Annotation 25.2
ผู้เขียน: GroupDocs