استخراج معلومات التوقيع
مقدمة
في عالمنا الرقمي اليوم، يعد ضمان أمان وسلامة المستندات أمرًا بالغ الأهمية. إحدى الطرق الشائعة المستخدمة لتأمين ملفات PDF هي إضافة توقيع رقمي. ومع ذلك، قد يكون استرداد تفاصيل التوقيع والتحقق منها أمرًا صعبًا في بعض الأحيان، خاصة عند التعامل مع شهادات مختلفة. في هذا الدليل، سنوضح لك عملية استخراج معلومات التوقيع من مستندات PDF باستخدام Aspose.PDF لـ .NET، مما يجعل المهمة سهلة للغاية. ستتعلم كيفية الوصول إلى حقول التوقيع واستخراج معلومات الشهادة وحفظها في ملف.
المتطلبات الأساسية
قبل أن نبدأ، دعونا نتأكد من أن كل شيء جاهز للبدء.
- مكتبة Aspose.PDF لـ .NET: إذا لم تكن لديك بعد، فيمكنك تنزيلها منصفحة تنزيل Aspose.PDF لـ .NET.
- بيئة تطوير .NET: ستحتاج إلى بيئة تطوير متكاملة مثل Visual Studio.
- المعرفة الأساسية بلغة C#: تعد المعرفة بلغة C# مفيدة لفهم مقتطفات التعليمات البرمجية في هذا البرنامج التعليمي.
- مستند PDF يحتوي على توقيع رقمي: لأغراض الاختبار، تأكد من أن لديك ملف PDF يحتوي على توقيع رقمي واحد على الأقل.
استيراد المساحات المطلوبة
قبل البدء في استخدام الكود، من المهم استيراد المساحات الأساسية اللازمة. ستتيح لك هذه المساحات الأساسية الوصول إلى وظيفة Aspose.PDF والعمل مع مستندات PDF.
using System.IO;
using Aspose.Pdf.Forms;
using Aspose.Pdf;
using System;
الآن بعد أن قمت بإعداد الأساسيات، دعنا ننتقل إلى العملية الفعلية لاستخراج معلومات التوقيع من ملف PDF.
الخطوة 1: إعداد دليل المستندات
قبل العمل على مستند PDF، يجب عليك تحديد موقع الملف الذي ستستخدمه. يمكنك استبدال"YOUR DOCUMENT DIRECTORY"
مع المسار الفعلي للدليل الذي يتم تخزين ملفات PDF الخاصة بك فيه.
// المسار إلى دليل المستندات.
string dataDir = "YOUR DOCUMENT DIRECTORY";
string input = dataDir + "ExtractSignatureInfo.pdf";
هنا، نحدد الدليل الذي يحتوي على ملف PDF واسم الملف نفسه. تأكد من وجود الملف في هذا الدليل!
الخطوة 2: تحميل مستند PDF
الآن بعد أن قمت بإعداد الدليل الخاص بك، فإن الخطوة التالية هي تحميل مستند PDF باستخدامDocument
الفئة من Aspose.PDF.
using (Document pdfDocument = new Document(input))
{
// قم بمعالجة ملف PDF هنا.
}
يقوم هذا السطر من التعليمات البرمجية بتهيئةDocument
الكائن الذي يمثل ملف PDF.using
تضمن العبارة أن يتم تنظيف الموارد بعد معالجة المستند.
الخطوة 3: الوصول إلى حقول النموذج
في هذه الخطوة، سننتقل عبر جميع حقول النماذج في مستند PDF. نظرًا لأن التوقيعات تُخزَّن عادةً كحقول نماذج، فستساعدنا هذه الخطوة في تحديد حقول التوقيع.
foreach (Field field in pdfDocument.Form)
{
// قم بتحديد حقول التوقيع هنا.
}
من خلال التكرار من خلالForm
ممتلكاتDocument
الكائن، يمكننا فحص كل حقل نموذج للتحقق مما إذا كان حقل توقيع.
الخطوة 4: تحديد حقول التوقيع
بمجرد الوصول إلى حقول النموذج، فإن الخطوة التالية هي تحديد الحقول التي تمثل حقول توقيع. يمكننا القيام بذلك عن طريق تحويل كل حقل إلىSignatureField
هدف.
SignatureField sf = field as SignatureField;
if (sf != null)
{
// استخراج معلومات التوقيع.
}
هنا نستخدمas
كلمة رئيسية لمحاولة تحويل كل حقل نموذج إلىSignatureField
إذا نجح الإرسال، فإننا نعلم أن الحقل هو توقيع.
الخطوة 5: استخراج الشهادة
الآن بعد أن حددت حقل التوقيع، فإن المهمة التالية هي استخراج الشهادة من التوقيع. تحتوي الشهادات على معلومات بالغة الأهمية حول المُوقِّع وصلاحية التوقيع.
Stream cerStream = sf.ExtractCertificate();
الExtractCertificate
الطريقة تعيدStream
الكائن الذي يحتوي على بيانات الشهادة. يمكن استخدام هذا الدفق لحفظ الشهادة لمزيد من التحليل أو التخزين.
الخطوة 6: حفظ الشهادة في ملف
بمجرد استخراج الشهادة، فإن الخطوة الأخيرة هي حفظها في ملف. في هذه الحالة، سنحفظ الشهادة كملف.cer
ملف.
if (cerStream != null)
{
using (cerStream)
{
byte[] bytes = new byte[cerStream.Length];
using (FileStream fs = new FileStream(dataDir + @"input.cer", FileMode.CreateNew))
{
cerStream.Read(bytes, 0, bytes.Length);
fs.Write(bytes, 0, bytes.Length);
}
}
}
في كتلة التعليمات البرمجية هذه، نقوم بما يلي:
- تحقق مما إذا كان مجرى الشهادة ليس فارغًا.
- قراءة بيانات الشهادة في مجموعة بايتات.
- اكتب مجموعة البايتات إلى
.cer
الملف في دليل المستند.
خاتمة
إن استخراج التوقيعات الرقمية ومعلومات الشهادات المرتبطة بها من مستندات PDF باستخدام Aspose.PDF for .NET أمر بسيط للغاية عند تقسيمه إلى خطوات بسيطة. سواء كنت تقوم بتدقيق المستندات أو التحقق من التوقيعات أو مجرد تخزين الشهادات للحفظ، فإن هذا البرنامج التعليمي يزودك بالمعرفة اللازمة لإنجاز ذلك بكفاءة. تذكر أن تأمين المستندات والتحقق منها أمر بالغ الأهمية في عالمنا الرقمي اليوم، واستخدام أدوات مثل Aspose.PDF for .NET يجعل التعامل معها أسهل كثيرًا.
الأسئلة الشائعة
هل يمكنني استخراج توقيعات متعددة من ملف PDF باستخدام Aspose.PDF لـ .NET؟
نعم، يتنقل الكود عبر جميع حقول النموذج في المستند، مما يسمح لك باستخراج توقيعات متعددة إذا كانت موجودة.
ماذا يحدث إذا لم يتم العثور على توقيع في ملف PDF؟
إذا لم تكن هناك حقول توقيع موجودة، فسوف يتخطاها الكود ببساطة دون إلقاء خطأ.
هل يمكنني استخدام هذا النهج للتحقق من صحة التوقيع؟
على الرغم من إمكانية استخراج الشهادة، إلا أن التحقق من صحة التوقيع يتطلب خطوات إضافية، مثل التحقق من سلسلة الثقة الخاصة بالشهادة.
هل من الممكن استخراج بيانات حقل النموذج الأخرى باستخدام Aspose.PDF لـ .NET؟
نعم، يسمح لك Aspose.PDF بالوصول إلى أنواع مختلفة من حقول النماذج في ملف PDF ومعالجتها، وليس فقط حقول التوقيع.
كيف يمكنني الاطلاع على تفاصيل الشهادة المستخرجة؟
بمجرد حفظ الشهادة كملف.cer
الملف، يمكنك فتحه باستخدام أي عارض شهادات أو استيراده إلى مخزن شهادات النظام لمزيد من الفحص.