Extraer Información de Imagen y Firma
El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.
Extracción de imagen de campo de firma
Aspose.PDF para .NET admite la función de firmar digitalmente los archivos PDF utilizando la clase SignatureField y mientras se firma el documento, también puede establecer una imagen para SignatureAppearance. Ahora, esta API también proporciona la capacidad de extraer información de la firma así como la imagen asociada con el campo de firma.
Para extraer información de la firma, hemos introducido el método ExtractImage a la clase SignatureField. Por favor, observe el siguiente fragmento de código que demuestra los pasos para extraer una imagen del objeto SignatureField:
// Para ejemplos completos y archivos de datos, por favor vaya a https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
string input = dataDir+ @"ExtractingImage.pdf";
using (Document pdfDocument = new Document(input))
{
foreach (Field field in pdfDocument.Form)
{
SignatureField sf = field as SignatureField;
if (sf != null)
{
string outFile = dataDir+ @"output_out.jpg";
using (Stream imageStream = sf.ExtractImage())
{
if (imageStream != null)
{
using (System.Drawing.Image image = Bitmap.FromStream(imageStream))
{
image.Save(outFile, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
}
}
}
Reemplazar imagen de firma
A veces, puede tener el requisito de solo reemplazar la imagen de un campo de firma ya presente dentro del archivo PDF. Para lograr este requisito, primero, necesitamos buscar campos de formulario dentro del archivo PDF, identificar campos de firma, obtener las dimensiones (dimensiones rectangulares) del campo de firma y luego estampar una imagen sobre las mismas dimensiones.
Extraer información de firma
Aspose.PDF para .NET admite la característica de firmar digitalmente los archivos PDF utilizando la clase SignatureField. Actualmente, también podemos determinar la validez del certificado, pero no podemos extraer todo el certificado. La información que se puede extraer es una clave pública, huella digital, emisor, etc.
Para extraer información de firma, hemos introducido el método ExtractCertificate en la clase SignatureField. Para extraer información de la firma, hemos introducido el método ExtractCertificate a la clase SignatureField.
// Para ejemplos completos y archivos de datos, por favor visite https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
string input = dataDir + "ExtractSignatureInfo.pdf";
using (Document pdfDocument = new Document(input))
{
foreach (Field field in pdfDocument.Form)
{
SignatureField sf = field as SignatureField;
if (sf != null)
{
Stream cerStream = sf.ExtractCertificate();
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);
}
}
}
}
}
}