Ekstrak Informasi Gambar dan Tanda Tangan menggunakan Aspose.PDF untuk C++

Mengekstrak Gambar dari Bidang Tanda Tangan

Aspose.PDF untuk C++ mendukung fitur untuk menandatangani file PDF secara digital menggunakan kelas SignatureField dan saat menandatangani dokumen.

Untuk mengekstrak informasi tanda tangan, kami telah memperkenalkan metode ExtractImage ke kelas SignatureField.

Silakan lihat potongan kode berikut yang menunjukkan langkah-langkah untuk mengekstrak gambar dari objek 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());

}
}

Ekstraksi Informasi Tanda Tangan

Aspose.PDF untuk C++ memungkinkan ekstraksi informasi tanda tangan. Untuk ini, kami telah memperkenalkan metode ExtractCertificate ke dalam kelas SignatureField.

Silakan lihat cuplikan kode berikut yang menunjukkan langkah-langkah untuk mengekstrak sertifikat dari objek 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();



}


}

}
}