Extraire les informations d'image et de signature

Le code suivant fonctionne également avec la bibliothèque [Aspose.PDF.Drawing](/pdf/fr/net/drawing/).

## Extraction d'image à partir du champ de signature

Aspose.PDF pour .NET prend en charge la fonctionnalité pour signer numériquement les fichiers PDF en utilisant la classe [SignatureField](https://reference.aspose.com/pdf/net/aspose.pdf.forms/signaturefield) et lors de la signature du document, vous pouvez également définir une image pour SignatureAppearance. Désormais, cette API offre également la capacité d'extraire des informations de signature ainsi que l'image associée au champ de signature.

Afin d'extraire les informations de signature, nous avons introduit la méthode [ExtractImage](https://reference.aspose.com/pdf/net/aspose.pdf.forms/signaturefield/methods/extractimage) à la classe SignatureField. Veuillez regarder le fragment de code suivant qui démontre les étapes pour extraire une image de l'objet SignatureField :

```csharp
// Pour des exemples complets et des fichiers de données, veuillez aller sur https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Le chemin vers le répertoire des documents.
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);
                    }
                }
            }
        }
    }
}

Remplacer l’image de la signature

Parfois, vous pouvez avoir besoin de remplacer uniquement l’image d’un champ de signature déjà présent dans un fichier PDF. Pour répondre à cette exigence, nous devons d’abord rechercher les champs de formulaire à l’intérieur du fichier PDF, identifier les champs de signature, obtenir les dimensions (dimensions rectangulaires) du champ de signature puis apposer une image sur les mêmes dimensions.

Extraire les informations de la signature

Aspose.PDF pour .NET prend en charge la fonctionnalité de signer numériquement les fichiers PDF en utilisant la classe SignatureField. Actuellement, nous pouvons également déterminer la validité du certificat mais nous ne pouvons pas extraire l’intégralité du certificat. Les informations qui peuvent être extraites sont une clé publique, l’empreinte, l’émetteur, etc.

Pour extraire les informations de signature, nous avons introduit la méthode ExtractCertificate à la classe SignatureField. Pour extraire des informations de signature, nous avons introduit la méthode ExtractCertificate à la classe SignatureField.

// Pour des exemples complets et des fichiers de données, veuillez visiter https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Le chemin vers le répertoire des documents.
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);
                    }
                }
            }
        }
    }
}