يتيح لك التوقيع الرقمي في PDF تأمين المستند قبل مشاركته مع أصحاب المصلحة. يمكن بسهولة اكتشاف تزوير محتوى مستند PDF موقع رقميًا والتحقق منه. من أجل التوقيع رقميًا على مستندات PDF برمجيًا ، سأوضح لك كيفية إضافة التوقيعات الرقمية والتحقق منها في PDF باستخدام Java. سنغطي السيناريوهات التالية المتعلقة بالتوقيعات الرقمية في ملفات PDF.

مكتبة Java لتوقيع PDF رقميًا

لإضافة التوقيعات الرقمية والتحقق منها في PDF ، سنستخدم Aspose.PDF لجافا. إلى جانب ميزات معالجة ملفات PDF الأخرى ، يتيح لك Aspose.PDF للجافا إضافة التوقيعات الرقمية والتحقق منها في ملفات PDF بسلاسة. يمكنك تنزيل JAR الخاص بواجهة برمجة التطبيقات أو تثبيته في تطبيقك المستند إلى 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 لجافا.

  • قم بإنشاء مثيل لفئة Document وتهيئته باستخدام مسار مستند PDF.
  • قم بتهيئة فئة PdfFileSignature وتمرير كائن المستند إليها.
  • قم بإنشاء مثيل لفئة 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 رقميًا باستخدام خادم الطابع الزمني باستخدام 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.

أنظر أيضا