แก้ไข PDF ออนไลน์

เราจำเป็นต้องลบรายละเอียดที่ละเอียดอ่อนออกจากไฟล์ PDF เนื่องจากข้อมูลมีความลับ ดังนั้นโดยปกติแล้วเราจะลบ (ลบข้อความ รูปภาพ ฯลฯ) จากพื้นที่หน้าหนึ่งของเอกสาร PDF อย่างไรก็ตาม เมื่อต้องจัดการกับเอกสารจำนวนมาก เราจำเป็นต้องใช้ API เพื่อให้บรรลุข้อกำหนดนี้

ในบทความนี้ เราจะพูดถึงขั้นตอนการแก้ไข PDF ออนไลน์โดยใช้คลาส RedactionAnnotation ของ Aspose.PDF Cloud SDK for Java

การติดตั้ง SDK

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

คุณสามารถดาวน์โหลด 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>

เมื่อติดตั้ง SDK แล้ว ขั้นตอนต่อไปคือการรับ Client ID และ Client Secret ส่วนตัวของคุณ โปรดไปที่ Aspose.Cloud Dashboard และหากคุณมีบัญชี GitHub หรือ Google ให้ลงทะเบียนเพียงเท่านี้ มิฉะนั้น ให้คลิกที่ปุ่ม Create a new Account และระบุข้อมูลที่จำเป็น จากนั้นเข้าสู่ระบบแดชบอร์ดโดยใช้ข้อมูลรับรองและขยายส่วน Applications เลื่อนลงไปที่ส่วน Client Credentials เพื่อดูรายละเอียด Client ID และ Client Secret

เพิ่มคำอธิบายการแก้ไขโดยใช้ Java

ในหัวข้อด้านล่างนี้ เราได้อธิบายขั้นตอนเกี่ยวกับวิธีเพิ่มกล่องสี่เหลี่ยมผืนผ้าเพื่อลบเนื้อหาของไฟล์ PDF โดยใช้ Aspose.PDF Cloud SDK สำหรับ Java

  • ก่อนอื่น เราต้องสร้างอ็อบเจ็กต์ของ PdfApi ขณะส่งรายละเอียด ClientId และ ClientSecret ที่ได้รับจากแดชบอร์ด Aspose.Cloud
  • ประการที่สอง สร้างอ็อบเจ็กต์ของคลาส Rectangle เพื่อระบุภูมิภาคบนเพจที่จะเพิ่มคำอธิบายประกอบ
  • ประการที่สาม เลือกค่าเริ่มต้นจากการแจงนับ AnnotationFlags และเพิ่มลงในรายการประเภท AnnotationFlags
  • ตอนนี้ให้สร้างอินสแตนซ์ของคลาส RedactionAnnotation และตั้งค่าพื้นที่สี่เหลี่ยมโดยใช้เมธอด setRect(…)
  • ตั้งค่าการจัดตำแหน่งแนวนอนโดยใช้เมธอด setHorizontalAlignment(…) และเลือก Center จากการแจงนับ HorizontalAlignment
  • ในการเติมสีภายในคำอธิบาย ให้ใช้เมธอด setFillColor(…) และส่งผ่านวัตถุ Color
  • กำหนดวันที่แก้ไขล่าสุดของคำอธิบายประกอบโดยใช้เมธอด setModified(…)
  • ก่อนสุดท้าย ให้สร้างรายการประเภท RedactionAnnotation และเพิ่มวัตถุ RedactAnnotation ลงในรายการนี้
  • สุดท้าย ให้เรียกใช้เมธอด postPageRedactionAnnotations(…) ของ PdfApi และส่งชื่อไฟล์ต้นฉบับ หมายเลขหน้าที่ต้องการเพิ่มคำอธิบายประกอบ นอกจากนี้ ให้ส่ง RedactionAnnotation List เป็นอาร์กิวเมนต์เพื่อเริ่มกระบวนการแก้ไข
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// สร้างอินสแตนซ์ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// อินพุตเอกสาร PDF
String sourcePDF = "PdfWithTable.pdf";

// หน้า PDF ที่จะวางคำอธิบาย
int pageNumber = 1;

// สร้างวัตถุสี่เหลี่ยมผืนผ้าเพื่อระบุพื้นที่คำอธิบายประกอบการแก้ไข
// ภูมิภาคคำนวณจากมุมซ้ายล่างของหน้า
Rectangle rect = new Rectangle()

// หน่วยวัดคือจุด
  .LLX(100.)
  .LLY(700.)
  .URX(200.)
  .URY(600.);

// สร้างอาร์เรย์ AnnotationFlags
List<AnnotationFlags> flags = new ArrayList<>();

// ตั้งค่า AnnotationFlag เป็นค่าเริ่มต้น
flags.add(AnnotationFlags.DEFAULT);

// สร้าง ArrayList ของจุด
List<Point> points = new ArrayList<>();
points.add(new Point().X(10.).Y(40.));
points.add(new Point().X(30.).Y(40.));

// สร้างวัตถุ Redact Annotation
RedactionAnnotation annotation = new RedactionAnnotation();

// ตั้งชื่อของคำอธิบายประกอบ 
// มีประโยชน์เมื่อเรามีคำอธิบายประกอบหลายรายการในเอกสารเดียว
annotation.setName("Name");
// ตั้งค่าพื้นที่สี่เหลี่ยมสำหรับการแก้ไขคำอธิบายประกอบ
annotation.setRect(rect);
annotation.setFlags(flags);

// ตั้งค่าการจัดแนวแนวนอนให้เป็นศูนย์กลาง
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);

// ตั้งค่า ZIndex เป็น 1 
annotation.setZindex(1);

// กำหนดสี SlateBlue ในรหัส Hex
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// ระบุสีเติมสำหรับคำอธิบาย
annotation.setFillColor(color);

// วันที่และเวลาที่คำอธิบายได้รับการแก้ไขครั้งล่าสุด
annotation.setModified("05/21/2021 12:00:00.000 AM");

// ตั้งค่าอาร์เรย์ของตัวเลข 8xN โดยระบุพิกัด 
// ของพื้นที่เนื้อหาที่ตั้งใจจะลบออก
annotation.setQuadPoint(points);
			        
// สร้างรายการวัตถุประเภท RedactAnnotation
List<RedactionAnnotation> annotations = new ArrayList<>();

// เพิ่มวัตถุ Annotations ที่สร้างไว้ก่อนหน้านี้ลงในอาร์เรย์ RedactAnnotation
annotations.add(annotation);

// เพิ่ม RedactAnnotation ลงในเอกสาร PDF
AsposeResponse response = pdfApi.postPageRedactionAnnotations(sourcePDF, pageNumber, annotations, null, null, true);
assertEquals(200, (int)response.getCode());
เอกสาร PDF ที่ถูกแก้ไข

รูปภาพ 1:- เพิ่มคำอธิบายแก้ไขลงในไฟล์ PDF

ดาวน์โหลดไฟล์ตัวอย่างที่ใช้ในตัวอย่างข้างต้นได้จาก

อ่านคำอธิบายการแก้ไขหน้า

Aspose.PDF Cloud SDK สำหรับ Java ยังให้ความสามารถในการอ่านข้อมูลเกี่ยวกับคำอธิบายประกอบ Redact ที่มีอยู่ในเอกสาร PDF ขั้นตอนด้านล่างนี้จะอธิบายวิธีอ่านรายละเอียดคำอธิบายประกอบโดยใช้ Java

// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// สร้างอินสแตนซ์ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// อินพุตเอกสาร PDF
String sourcePDF = "PdfWithTable.pdf";

// รับคำอธิบายการแก้ไขเอกสาร
RedactionAnnotationsResponse responseAnnotations = pdfApi.getPageRedactionAnnotations(sourcePDF,1, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// พิมพ์จำนวนคำอธิบายประกอบที่มีอยู่ในเอกสาร
System.out.println(responseAnnotations.getAnnotations().getList().size());

อัปเดตคำอธิบายการแก้ไขที่มีอยู่

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

  • สร้างอินสแตนซ์ของ PdfApi ในขณะส่งรายละเอียด ID ไคลเอนต์และความลับไคลเอนต์เป็นอาร์กิวเมนต์
  • สร้างวัตถุสี่เหลี่ยมผืนผ้าเพื่อกำหนดขอบเขตของคำอธิบายประกอบ โดยคำนวณจากมุมซ้ายล่างของเอกสาร และหน่วยเริ่มต้นคือจุด
  • สร้างรายการ AnnotationFlags และเพิ่มค่า AnnotationFlags.DEFAULT ลงในรายการ
  • ตอนนี้เราต้องสร้างอ็อบเจ็กต์ RedactionAnnotation และเรียกใช้เมธอด setRect(…) เพื่อกำหนดพื้นที่สี่เหลี่ยมของคำอธิบายประกอบ
  • ใช้เมธอด setModified(…) เพื่อตั้งค่าวันที่แก้ไขล่าสุดของ Annotation
  • เรียกใช้เมธอด getDocumentRedactionAnnotations(…) ของ PdfApi เพื่ออ่านรายการคำอธิบายประกอบจากเอกสาร
  • รับวัตถุ Annotation เฉพาะโดยใช้ responseAnnotations.getAnnotations().getList().get(0).getId()
  • ในที่สุด ให้เรียกใช้เมธอด putRedactionAnnotation(…) ของคลาส PdfApi เพื่ออัปเดต Redaction Annotation ที่มีอยู่ในไฟล์ PDF
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// สร้างอินสแตนซ์ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// อินพุตเอกสาร PDF
String sourcePDF = "PdfWithAnnotations.pdf";	        
			        
// สร้างพื้นที่สี่เหลี่ยมผืนผ้าสำหรับคำอธิบายประกอบ  
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.));

// สร้างวัตถุ Redaction Annotation
RedactionAnnotation annotation = new RedactionAnnotation();
// ตั้งชื่อสำหรับคำอธิบายประกอบ
annotation.setName("Name Updated");

// กำหนดพื้นที่สี่เหลี่ยมสำหรับคำอธิบายประกอบ
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);

// กำหนดสี SlateBlue ในรหัส Hex
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);

// ระบุสีเติมสำหรับคำอธิบาย
annotation.setFillColor(color);

// รับคำอธิบายที่มีอยู่จากเอกสาร
RedactionAnnotationsResponse responseAnnotations = pdfApi.getDocumentRedactionAnnotations(sourcePDF, null, null);
assertEquals(200, (int)responseAnnotations.getCode());

// รับคำอธิบายประกอบที่ดัชนี 0
String annotationId = responseAnnotations.getAnnotations().getList().get(0).getId();

// อัปเดตคำอธิบายที่ดัชนี 0
AsposeResponse response = pdfApi.putRedactionAnnotation(sourcePDF, annotationId, annotation, null, null, true);
assertEquals(200, (int)response.getCode());
แก้ไขคำอธิบายที่ได้รับการปรับปรุง

รูปภาพ 2:- อัปเดตคำอธิบายแก้ไข

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

บทสรุป

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