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

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

ספריית C# לחתימות דיגיטליות ב-PDF

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

אתה יכול להוריד Aspose.PDF עבור .NET או להתקין אותו באמצעות NuGet.

PM> Install-Package Aspose.PDF

כיצד להוסיף חתימה דיגיטלית ל-PDF ב-C#

להלן השלבים להוספת חתימה דיגיטלית ל-PDF ב-C#.

  • צור אובייקט מהמחלקה Document ואתחול אותו עם הנתיב של מסמך ה-PDF.
  • צור אובייקט של מחלקה PdfFileSignature ואתחול אותו עם האובייקט של מחלקת Document.
  • צור אובייקט במחלקה PKCS7 ואתחול אותו עם נתיב וסיסמה של אישור.
  • צור ואתחול האובייקט של מחלקה DocMDPSignature עבור סוג חתימת MDP.
  • צור מלבן למיקום חתימה.
  • חתימה דיגיטלית על מסמך PDF באמצעות שיטת PdfFileSignature.Certify().
  • שמור את המסמך באמצעות שיטת PdfFileSignature.Save().

קוד C# להוספת חתימה דיגיטלית ל-PDF

דוגמת הקוד הבאה מראה כיצד להוסיף חתימה דיגיטלית ל-PDF ב-C#.

// טען מסמך PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
	using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
	{
		PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
		DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
		System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
		// הגדר מראה חתימה
		signature.SignatureAppearance = @"aspose-logo.png";
		// צור כל אחד משלושת סוגי החתימות
		signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
		// שמור קובץ PDF חתום דיגיטלי
		signature.Save("Digitally Signed PDF.pdf");
	}
}

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

אתה יכול גם להוסיף חתימה דיגיטלית למסמך PDF עם שרת TimeStamp על ידי מתן הפרטים שלו באמצעות המחלקה TimestampSettings.

דוגמת הקוד הבאה מראה כיצד לחתום דיגיטלית על מסמך PDF עם שרת TimeStamp ב-C#.

// טען מסמך PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
	using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
	{
		PKCS7 pkcs = new PKCS7("certificate.pfx", "WebSales"); // Use PKCS7/PKCS7Detached objects
		TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
		pkcs.TimestampSettings = timestampSettings;
		System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
		// צור כל אחד משלושת סוגי החתימות
		signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
		// שמור קובץ PDF פלט
		signature.Save("Output.pdf");
	}
}

אימות PDF חתום דיגיטלי ב-C#

להלן השלבים לאימות החתימה הדיגיטלית במסמך PDF:

  • צור אובייקט מהמחלקה Document ואתחול אותו עם הנתיב של מסמך ה-PDF.
  • צור אובייקט במחלקה PdfFileSignature ואתחול אותו עם האובייקט של מחלקת Document.
  • גש לכל החתימות של מסמך ה-PDF.
  • ודא את תקפות החתימה באמצעות שיטת PdfFileSignature.VerifySigned().

דוגמת הקוד הבאה מראה כיצד לאמת את החתימה הדיגיטלית ב-PDF באמצעות C#.

// טען מסמך PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
	using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
	{
		IList<string> sigNames = signature.GetSignNames();
		if (sigNames.Count > 0) // Any signatures?
		{
			if (signature.VerifySigned(sigNames[0] as string)) // Verify first one
			{
				if (signature.IsCertified) // Certified?
				{
					if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
					{
						// עשה משהו
					}
				}
			}
		}
	}
}

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

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

סיכום

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

מאמרים קשורים