امضای دیجیتال در PDF به شما امکان می دهد سند را قبل از به اشتراک گذاشتن با سهامداران ایمن کنید. جعل در محتوای یک سند PDF امضا شده دیجیتالی به راحتی قابل شناسایی و تأیید است. به منظور امضای دیجیتالی اسناد PDF به صورت برنامه‌ریزی، به شما نشان می‌دهم که چگونه امضای دیجیتال را در PDF با استفاده از جاوا اضافه و تأیید کنید. ما سناریوهای زیر را در رابطه با امضای دیجیتال در فایل های PDF پوشش خواهیم داد.

کتابخانه جاوا برای امضای دیجیتالی PDF

برای افزودن و تأیید امضای دیجیتال در PDF، از Aspose.PDF برای جاوا استفاده خواهیم کرد. همراه با سایر ویژگی‌های دستکاری PDF، Aspose.PDF برای جاوا به شما امکان می‌دهد امضای دیجیتال را به صورت یکپارچه در فایل‌های 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 اضافه کنید

در زیر مراحل اضافه کردن امضای دیجیتال به سند PDF با استفاده از Aspose.PDF برای جاوا آمده است.

  • یک نمونه از کلاس Document ایجاد کنید و آن را با مسیر سند PDF مقداردهی اولیه کنید.
  • کلاس PdfFileSignature را مقداردهی کنید و شی Document را به آن ارسال کنید.
  • یک نمونه از کلاس PKCS7 ایجاد کنید و آن را با مسیر گواهی و رمز عبور مقداردهی اولیه کنید.
  • کلاس DocMDPSignature را برای نوع امضای MDP راه اندازی کنید.
  • یک مستطیل برای قرار دادن امضا در صفحه سند تعریف کنید.
  • با استفاده از روش PdfFileSignature.Certify() سند PDF را به صورت دیجیتال امضا کنید.
  • PDF امضا شده را با استفاده از روش PdfFileSignature.Save() ذخیره کنید.

نمونه کد زیر نحوه امضای دیجیتالی PDF را با استفاده از جاوا نشان می دهد.

// یک شی Document ایجاد کنید
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 امضا کنید

Aspose.PDF برای جاوا همچنین به شما امکان می دهد امضای دیجیتال را با سرور TimeStamp به PDF اضافه کنید. برای این منظور از کلاس TimestampSettings استفاده می شود. نمونه کد زیر نحوه اضافه کردن امضای دیجیتال به PDF با سرور TimeStamp را با استفاده از جاوا نشان می دهد.

// یک شی Document ایجاد کنید
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 با استفاده از جاوا

هنگامی که یک PDF امضا شده دیجیتال دریافت می کنید، می توانید امضای آن را به راحتی تأیید کنید. مراحل زیر برای تأیید یک PDF امضا شده دیجیتال است.

نمونه کد زیر نحوه تأیید یک سند PDF امضا شده دیجیتال با استفاده از جاوا را نشان می دهد.

// امضای فایل 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 اضافه کنید. علاوه بر این، نحوه تأیید یک فایل PDF امضا شده دیجیتال را در چند مرحله مشاهده کرده ایم. می‌توانید با استفاده از مستندات و همچنین نمونه‌های کد منبع میزبانی شده در GitHub درباره Java PDF API اطلاعات بیشتری کسب کنید.

همچنین ببینید