Extraer Información de Imagen y Firma usando Aspose.PDF para C++

Extracción de Imagen del Campo de Firma

Aspose.PDF para C++ admite la función de firmar digitalmente los archivos PDF usando la clase SignatureField y al firmar el documento.

Para extraer información de la firma, hemos introducido el método ExtractImage en la clase SignatureField.

Por favor, eche un vistazo al siguiente fragmento de código que demuestra los pasos para extraer una imagen del objeto 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());

}
}

Extraer Información de la Firma

Aspose.PDF para C++ permite extraer información de la firma. Para esto, hemos introducido el método ExtractCertificate en la clase SignatureField.

Por favor, eche un vistazo al siguiente fragmento de código que demuestra los pasos para extraer el certificado del objeto 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();

}

}

}
}