Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
تعمل مقتطفات الشيفرة التالية أيضًا مع مكتبة Aspose.PDF.Drawing.
يدعم Aspose.PDF for .NET ميزة التوقيع الرقمي لملفات PDF باستخدام فئة SignatureField وأثناء توقيع المستند، يمكنك أيضًا تعيين صورة لـ SignatureAppearance
. الآن، توفر هذه الواجهة البرمجية أيضًا القدرة على استخراج معلومات التوقيع بالإضافة إلى الصورة المرتبطة بحقل التوقيع.
لاستخراج معلومات التوقيع، قدمنا طريقة ExtractImage إلى فئة SignatureField. يرجى إلقاء نظرة على مقتطف الشيفرة التالية الذي يوضح الخطوات لاستخراج صورة من كائن SignatureField
:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractImagesFromSignatureField()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "ExtractingImage.pdf"))
{
// Searching for signature fields
foreach (var field in document.Form)
{
var sf = field as Aspose.Pdf.Forms.SignatureField;
if (sf == null)
{
continue;
}
using (Stream imageStream = sf.ExtractImage())
{
if (imageStream != null)
{
continue;
}
using (System.Drawing.Image image = System.Drawing.Bitmap.FromStream(imageStream))
{
// Save the image
image.Save(dataDir + "output_out.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
}
}
يدعم Aspose.PDF for .NET ميزة التوقيع الرقمي لملفات PDF باستخدام فئة SignatureField. حاليًا، يمكننا أيضًا تحديد صلاحية الشهادة ولكن لا يمكننا استخراج الشهادة بالكامل. المعلومات التي يمكن استخراجها هي المفتاح العام، وبصمة الإصبع، والجهة المصدرة، إلخ.
لاستخراج معلومات التوقيع، قدمنا طريقة ExtractCertificate إلى فئة SignatureField. يرجى إلقاء نظرة على مقتطف الشيفرة التالية الذي يوضح الخطوات لاستخراج الشهادة من كائن SignatureField:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractCertificate()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "ExtractSignatureInfo.pdf"))
{
// Searching for signature fields
foreach (var field in document.Form)
{
var sf = field as Aspose.Pdf.Forms.SignatureField;
if (sf == null)
{
continue;
}
// Extract certificate
Stream cerStream = sf.ExtractCertificate();
if (cerStream == null)
{
continue;
}
// Save certificate
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);
}
}
}
}
}
يمكنك الحصول على معلومات حول خوارزميات توقيع المستند.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private void GetSignaturesInfo()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "signed_rsa.pdf"))
{
using (var signature = new Aspose.Pdf.Facades.PdfFileSignature(document))
{
var sigNames = signature.GetSignatureNames();
var signaturesInfoList = signature.GetSignaturesInfo();
foreach (var sigInfo in signaturesInfoList)
{
Console.WriteLine(sigInfo.DigestHashAlgorithm);
Console.WriteLine(sigInfo.AlgorithmType);
Console.WriteLine(sigInfo.CryptographicStandard);
Console.WriteLine(sigInfo.SignatureName);
}
}
}
}
نموذج الإخراج للمثال أعلاه:
Sha256
Rsa
Pkcs7
Signature1
يمكنك استخدام فئة SignaturesCompromiseDetector للتحقق من التوقيعات الرقمية من أجل التلاعب. استدعِ طريقة Check() للتحقق من توقيعات المستند. إذا لم يتم الكشف عن أي تلاعب في التوقيع، ستعيد الطريقة القيمة true. إذا أعادت الطريقة القيمة false، يمكنك التحقق مما إذا كانت التوقيعات المتلاعب بها تستخدم خاصية HasCompromisedSignatures واسترجاع قائمة التوقيعات المتلاعب بها من خلال خاصية CompromisedSignatures.
للتحقق مما إذا كانت التوقيعات الحالية تغطي المستند بالكامل، استخدم خاصية SignaturesCoverage. يمكن أن تحتوي هذه الخاصية على القيم التالية:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.