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

Java Library เพื่อเซ็นชื่อแบบดิจิทัล PDF

สำหรับการเพิ่มและตรวจสอบลายเซ็นดิจิทัลใน PDF เราจะใช้ Aspose.PDF for Java นอกเหนือจากคุณสมบัติการจัดการ PDF อื่นๆ แล้ว Aspose.PDF for Java ยังให้คุณเพิ่มและตรวจสอบลายเซ็นดิจิทัลใน PDF ได้อย่างราบรื่น คุณสามารถ ดาวน์โหลด JAR ของ API หรือติดตั้งในแอปพลิเคชันที่ใช้ 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>20.6</version>
</dependency>

เพิ่มลายเซ็นดิจิทัลให้กับ PDF โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการเพิ่มลายเซ็นดิจิทัลในเอกสาร PDF โดยใช้ Aspose.PDF for Java

  • สร้างอินสแตนซ์ของคลาส Document และเริ่มต้นด้วยเส้นทางของเอกสาร PDF
  • เริ่มต้นคลาส PdfFileSignature และส่งต่อไปยังวัตถุ Document
  • สร้างอินสแตนซ์ของคลาส PKCS7 และเริ่มต้นด้วยเส้นทางของใบรับรองและรหัสผ่าน
  • เริ่มต้นคลาส DocMDPSignature สำหรับประเภทลายเซ็น MDP
  • กำหนด สี่เหลี่ยมผืนผ้า เพื่อวางลายเซ็นบนหน้าเอกสาร
  • เซ็นชื่อแบบดิจิทัลในเอกสาร PDF โดยใช้วิธี PdfFileSignature.Certify()
  • บันทึก PDF ที่เซ็นชื่อโดยใช้เมธอด PdfFileSignature.Save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเซ็นชื่อแบบดิจิทัลใน PDF โดยใช้ Java

// สร้างวัตถุเอกสาร
Document doc = new Document("input.pdf");
PdfFileSignature signature = new PdfFileSignature(doc);
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
Rectangle rect = new Rectangle(100, 600, 400, 100);
// ตั้งค่าลักษณะลายเซ็น
signature.setSignatureAppearance("aspose-logo.png"); 
// สร้างลายเซ็นใด ๆ ในสามประเภท
signature.certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
// บันทึกไฟล์ PDF ที่เซ็นชื่อแบบดิจิทัล
signature.save("Digitally Signed PDF.pdf");

เซ็นชื่อแบบดิจิทัลใน PDF ด้วยเซิร์ฟเวอร์ Timestamp โดยใช้ Java

Aspose.PDF for Java ยังให้คุณเพิ่มลายเซ็นดิจิทัลใน PDF ด้วยเซิร์ฟเวอร์ TimeStamp คลาส TimestampSettings ใช้เพื่อจุดประสงค์นี้ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มลายเซ็นดิจิทัลใน PDF ด้วยเซิร์ฟเวอร์ TimeStamp โดยใช้ Java

// สร้างวัตถุเอกสาร
Document doc = new Document("input.pdf");
PdfFileSignature signature = new PdfFileSignature(doc);
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
pkcs.setTimestampSettings(timestampSettings); 
Rectangle rect = new Rectangle(100, 600, 400, 100);
// ตั้งค่าลักษณะลายเซ็น
signature.setSignatureAppearance("aspose-logo.png"); 
// สร้างลายเซ็นใด ๆ ในสามประเภท
signature.sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// บันทึกไฟล์ PDF ที่เซ็นชื่อแบบดิจิทัล
signature.save("Digitally Signed PDF.pdf");

ตรวจสอบลายเซ็นดิจิทัลใน PDF โดยใช้ Java

เมื่อคุณได้รับ PDF ที่เซ็นชื่อแบบดิจิทัล คุณสามารถตรวจสอบลายเซ็นได้อย่างง่ายดาย ต่อไปนี้เป็นขั้นตอนในการตรวจสอบ PDF ที่เซ็นชื่อแบบดิจิทัล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตรวจสอบเอกสาร PDF ที่เซ็นชื่อแบบดิจิทัลโดยใช้ Java

// สร้างลายเซ็นไฟล์ PDF
PdfFileSignature pdfSign = new PdfFileSignature();
// ผูก PDF
pdfSign.bindPdf("Digitally Signed PDF.pdf");
// ตรวจสอบลายเซ็นโดยใช้ชื่อลายเซ็น
if (pdfSign.verifySigned("Signature1"))
{
	if (pdfSign.isCertified()) // Certified?
	{
		if (pdfSign.getAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
		{
			// ทำอะไรสักอย่าง
		}
	} 
}

บทสรุป

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

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