הוסף חתימה דיגיטלית ל-PDF Java

חתימה דיגיטלית ב-PDF מאפשרת לך לאבטח את המסמך לפני שהוא משותף עם בעלי העניין. זיוף בתוכן של מסמך PDF חתום דיגיטלית ניתן לזהות ולאמת בקלות. כדי לחתום דיגיטלית על מסמכי PDF באופן פרוגרמטי, נראה לך כיצד להוסיף חתימות דיגיטליות ל-PDF באמצעות Java. כמו כן, תלמד כיצד לאמת PDF חתום דיגיטלית באופן תכנותי.

נסקור את התרחישים הבאים הקשורים לחתימות דיגיטליות בקובצי PDF.

ספריית Java לחתימה דיגיטלית על PDF

להוספה ואימות של חתימות דיגיטליות ב-PDF, נשתמש ב-Aspose.PDF עבור Java. יחד עם תכונות אחרות של מניפולציה של PDF, Aspose.PDF עבור 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>22.12</version>
</dependency>

הוסף חתימה דיגיטלית לקובץ PDF ב-Java

להלן השלבים להוספת חתימה דיגיטלית ל-PDF ב-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");

Java: חתימה דיגיטלית על PDF עם שרת חותמת זמן

Aspose.PDF עבור 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
		{
			// עשה משהו
		}
	} 
}

ספריית Java בחינם עבור חתימות דיגיטליות ב-PDF

אתה יכול לקבל רישיון זמני בחינם ולהוסיף חתימות דיגיטליות לקובצי PDF ללא כל הגבלה.

חקור את ספריית Java PDF

אתה יכול ללמוד עוד על Java PDF API באמצעות תיעוד כמו גם דוגמאות קוד המקור המתארחות ב-GitHub.

סיכום

במאמר זה, למדת כיצד להוסיף חתימה דיגיטלית ל-PDF באמצעות Java. בנוסף, ראינו כיצד לאמת קובץ PDF חתום דיגיטלית תוך מספר שלבים. אתה יכול בקלות להתקין את הספרייה ולהשתמש בדוגמאות הקוד שסופקו ביישום שלך.

ראה גם