แก้ไขข้อมูลเมตาของไฟล์ PDF โดยใช้ Java

ข้อมูลเมตาของเอกสารประกอบด้วยข้อมูลพื้นฐานเกี่ยวกับเอกสารในรูปแบบของคุณสมบัติ เช่น ชื่อเรื่อง ผู้แต่ง หัวเรื่อง คำสำคัญ ฯลฯ Extensible Metadata Platform (XMP) เป็นมาตรฐานที่ใช้ XML สำหรับการจัดเก็บข้อมูลเมตาของเอกสารเป็นคีย์/ค่า คู่. เราสามารถเพิ่ม แก้ไข หรืออ่านข้อมูลเอกสารและข้อมูลเมตา XMP ของเอกสาร PDF โดยทางโปรแกรม ในบทความนี้ เราจะเรียนรู้วิธีแก้ไขคุณสมบัติ PDF และข้อมูลเมตาโดยใช้ Java

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

Java API เพื่อแก้ไขคุณสมบัติ PDF และข้อมูลเมตา

หากต้องการแก้ไขคุณสมบัติ PDF และข้อมูลเมตาดาต้า เราจะใช้ Aspose.PDF for Java API ช่วยให้เราสามารถสร้าง แก้ไข แปลง แสดงผล ปลอดภัย และพิมพ์ เอกสารที่รองรับ ได้โดยไม่ต้องใช้ Adobe Acrobat โปรด ดาวน์โหลด JAR ของ API หรือเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.3</version>
</dependency>

แก้ไขคุณสมบัติ PDF โดยใช้ Java

เราสามารถแก้ไขข้อมูลเอกสาร PDF ได้โดยใช้คลาส PdfFileInfo ที่แสดงถึงข้อมูลเมตาของเอกสาร PDF เราสามารถตั้งค่าคุณสมบัติที่กำหนดไว้ล่วงหน้าต่างๆ ได้โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดเอกสาร PDF โดยใช้คลาส PdfFileInfo
  2. ตั้งค่าคุณสมบัติต่างๆ เช่น ผู้แต่ง ผู้สร้าง คำสำคัญ หัวเรื่อง ชื่อเรื่อง ฯลฯ
  3. สุดท้าย ให้บันทึกไฟล์ PDF โดยใช้เมธอด saveNewInfo() โดยมีพาธของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแก้ไขคุณสมบัติเมตาของไฟล์ PDF โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการตั้งค่าข้อมูลพื้นฐานของเอกสาร PDF
// เอกสารโอเพ่นซอร์ส
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\sample.pdf");

// ตั้งค่าข้อมูล PDF
fileInfo.setAuthor("Aspose");
fileInfo.setTitle("Editing Metadata");
fileInfo.setKeywords("Aspose.Pdf, DOM, API");
fileInfo.setSubject("PDF Information");
fileInfo.setCreator("Aspose");

// บันทึกไฟล์ที่อัพเดต
fileInfo.saveNewInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");
แก้ไขคุณสมบัติ Meta ของไฟล์ PDF ใน Java

แก้ไขคุณสมบัติ Meta ของไฟล์ PDF ใน Java

อ่านคุณสมบัติ PDF โดยใช้ Java

เราสามารถอ่านข้อมูลพื้นฐานของเอกสาร PDF ได้โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดเอกสาร PDF โดยใช้คลาส PdfFileInfo
  2. สุดท้าย แสดงข้อมูลเอกสารโดยการอ่านค่าของคุณสมบัติเมตา

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับคุณสมบัติเมตาของไฟล์ PDF โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการรับข้อมูลพื้นฐานของเอกสาร PDF
// เปิดเอกสาร
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");

// รับข้อมูล PDF
System.out.println("Subject :" + fileInfo.getSubject());
System.out.println("Title :" + fileInfo.getTitle());
System.out.println("Keywords :" + fileInfo.getKeywords());
System.out.println("Creator :" + fileInfo.getCreator());
System.out.println("Creation Date :" + fileInfo.getCreationDate());
System.out.println("Modification Date :" + fileInfo.getModDate());

// ค้นหาว่าเป็น PDF ที่ถูกต้องหรือไม่และมีการเข้ารหัสด้วย
System.out.println("Is Valid PDF :" + fileInfo.isPdfFile());
// ในกรณีที่ไฟล์ถูกเข้ารหัส คุณจะต้องระบุรหัสผ่านในการเปิดไฟล์
// เป็นอาร์กิวเมนต์ที่สองของตัวสร้าง PdfFileInfo
System.out.println("Is Encrypted :" + fileInfo.isEncrypted());
Subject :PDF Information
Title :Editing Metadata
Keywords :Aspose.Pdf, DOM, API
Creator :Aspose
Creation Date :D:20170612160123-04'00'
Modification Date :D:20220405214422+05'00'
Is Valid PDF :true
Is Encrypted :false

รับข้อมูลเมตา XMP ของไฟล์ PDF ใน Java

เราสามารถอ่านข้อมูลเมตา XMP ของเอกสาร PDF ได้โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดเอกสาร PDF โดยใช้คลาส Document
  2. สุดท้าย ให้อ่านข้อมูลเมตาโดยใช้เมธอด getItem() ของคลาส Metadata แล้วแยกข้อมูลออกมา

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับข้อมูลเมตา XMP ของไฟล์ PDF โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีรับข้อมูลเมตา XMP ของเอกสาร PDF
// เปิดเอกสาร
Document pdfDocument = new Document("D:\\Files\\PDF\\SetXMPMetadata.pdf");

// รับคุณสมบัติ
System.out.println("xmp:CreateDate: " + pdfDocument.getMetadata().get_Item("xmp:CreateDate"));
System.out.println("xmp:Nickname: " + pdfDocument.getMetadata().get_Item("xmp:Nickname"));
System.out.println("xmp:CustomProperty: " + pdfDocument.getMetadata().get_Item("xmp:CustomProperty"));
xmp:CreateDate : 2022-04-05T10:05:24.4
xmp:Nickname : Nickname
xmp:CustomProperty : Custom Value

ตั้งค่าข้อมูลเมตา XMP ในไฟล์ PDF ใน Java

เราสามารถตั้งค่าข้อมูลเมตา XMP ในไฟล์ PDF ได้โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดเอกสาร PDF โดยใช้คลาส Document
  2. จากนั้น ตั้งค่าข้อมูลเมตาโดยใช้เมธอด setItem() ของคลาส Metadata
  3. สุดท้าย ให้บันทึกไฟล์ PDF โดยใช้เมธอด Document.save() โดยมีพาธของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าข้อมูลเมตา XMP ของไฟล์ PDF โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการตั้งค่าข้อมูลเมตา XMP ของเอกสาร PDF
// เปิดเอกสาร
Document pdfDocument = new Document("D:\\Files\\PDF\\sample.pdf");

// ตั้งค่าคุณสมบัติ
pdfDocument.getMetadata().set_Item("xmp:CreateDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("xmp:Nickname", new XmpValue("Nickname"));
pdfDocument.getMetadata().set_Item("xmp:CustomProperty", new XmpValue("Custom Value"));

// บันทึกเอกสาร
pdfDocument.save("D:\\Files\\PDF\\SetXMPMetadata.pdf");

ปรับแต่งเนมสเปซข้อมูลเมตา XMP ในไฟล์ PDF

เราสามารถตั้งค่า URI เนมสเปซที่กำหนดเองแทนข้อกำหนด XMP ที่กำหนดไว้ในไฟล์ PDF เพื่อจุดประสงค์นี้ API จะจัดเตรียมเมธอด registerNamespaceUri ในคลาส Metadata เราสามารถสร้างเนมสเปซข้อมูลเมตาใหม่ด้วยคำนำหน้าโดยทำตามขั้นตอนที่ระบุด้านล่าง:

  1. ขั้นแรก โหลดเอกสาร PDF โดยใช้คลาส Document
  2. จากนั้น เรียกเมธอด registerNamespaceUri() โดยมีคำนำหน้าและ URI เนมสเปซเป็นอาร์กิวเมนต์
  3. จากนั้น ตั้งค่าข้อมูลเมตาโดยใช้เมธอด setItem()
  4. สุดท้าย ให้บันทึกไฟล์ PDF โดยใช้เมธอด Document.Save() โดยมีพาธของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าเนมสเปซข้อมูลเมตาที่กำหนดเองในไฟล์ PDF โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการตั้งค่าข้อมูลเมตา XMP ที่กำหนดเองของเอกสาร PDF
// เปิดเอกสาร
Document pdfDocument = new Document("D:\\Files\\PDF\\sample.pdf");

// ตั้งค่าคุณสมบัติที่กำหนดเอง
pdfDocument.getMetadata().registerNamespaceUri("myown", "http:// myown.xyz.com/xap/1.0/");
pdfDocument.getMetadata().set_Item("myown:ModifyDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:CreateDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:DeveloperName", new XmpValue("Developer Name"));
pdfDocument.getMetadata().set_Item("myown:MyProperty", new XmpValue("My Custom Value"));

// บันทึกเอกสาร
pdfDocument.save("D:\\Files\\PDF\\CustomizedXMPMetadata.pdf");

เราสามารถอ่านคุณสมบัติเมตาดาต้า XMP ที่กำหนดเองได้โดยทำตามขั้นตอนที่กล่าวไว้ข้างต้น

NamespaceUri: http:// myown.xyz.com/xap/1.0/
myown:ModifyDate: 2022-04-05T10:18:45.9
myown:CreateDate: 2022-04-05T10:18:45.9
myown:DeveloperName: Developer Name
myown:MyProperty: My Custom Value

รับใบอนุญาต API ฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธี:

  • เพิ่ม/แก้ไขข้อมูลพื้นฐานของเอกสาร PDF โดยใช้ Java
  • ตั้งค่า/ รับข้อมูลเมตา XMP ในไฟล์ PDF โดยใช้ Java
  • ตั้งค่า URI เนมสเปซข้อมูลเมตาที่กำหนดเองด้วยคำนำหน้า

นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.PDF for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

ดูสิ่งนี้ด้วย