استخراج معلومات الصورة والتوقيع باستخدام Aspose.PDF لـ C++
Contents
[
Hide
]
استخراج الصورة من حقل التوقيع
يدعم Aspose.PDF لـ C++ ميزة التوقيع الرقمي لملفات PDF باستخدام فئة SignatureField وأثناء توقيع المستند.
لاستخراج معلومات التوقيع، قمنا بتقديم طريقة ExtractImage إلى فئة SignatureField.
يرجى الاطلاع على مقتطف الشيفرة التالي الذي يوضح خطوات استخراج صورة من كائن SignatureField:
void SecuringAndSigning::ExtractingImageFromSignatureField() {
// String for path name.
String _dataDir("C:\\Samples\\");
auto pdfDocument = MakeObject<Document>(_dataDir + u"ExtractingImage.pdf");
int i = 0;
try {
for (auto& field : pdfDocument->get_Form()->get_Fields()) {
auto sf = System::DynamicCast<Aspose::Pdf::Forms::SignatureField>(field);
if (sf != nullptr) {
auto output = System::IO::File::OpenWrite(_dataDir + u"im" + i + u".jpeg");
auto tempStream = sf->ExtractImage();
tempStream->CopyTo(output);
output->Close();
}
}
}
catch (System::IO::IOException e) {
Console::WriteLine(e->get_Message());
}
}
استخراج معلومات التوقيع
تتيح Aspose.PDF for C++ استخراج معلومات التوقيع. ``` لهذا، قمنا بتقديم الطريقة ExtractCertificate إلى فئة SignatureField.
يرجى إلقاء نظرة على مقتطف الكود التالي الذي يوضح الخطوات لاستخراج الشهادة من كائن SignatureField:
void SecuringAndSigning::ExtractSignatureInformation() {
String _dataDir("C:\\Samples\\");
String input = _dataDir + u"ExtractSignatureInfo.pdf";
auto pdfDocument = MakeObject<Document>(input);
for (auto& field : pdfDocument->get_Form()->get_Fields()) {
auto sf = System::DynamicCast<Aspose::Pdf::Forms::SignatureField>(field);
if (sf != nullptr) {
auto cerStream = sf->ExtractCertificate();
if (cerStream != nullptr) {
auto outStream = System::IO::File::OpenWrite(_dataDir + u"targetFile.cer");
cerStream->CopyTo(outStream);
outStream->Close();
}
}
}
}