Електронний підпис — це цифрові дані, які додаються до документа, що передається в електронному вигляді. Він підтверджує намір відправника підписати документ.

GroupDocs.Signature for .NET. Пошук підписів зображень у документах

Як розробник ви можете програмно підписувати документи, а також перевіряти, чи документ правильно підписано правильним підписом. GroupDocs.Signature for .NET API надає багато таких функцій і дає вам повний контроль над процесом електронного підпису. Він надає різні реалізації електронних підписів, наприклад:

  • Текстові підписи (текст, анотації, водяні знаки, наклейки)
  • Image Signature - із такими параметрами, як ефекти зображення та обертання.
  • Цифровий підпис - на основі цифрових сертифікатів.
  • Підпис штрих-коду
  • QR-код Підпис
  • Печатка Підпис
  • Підпис метаданих
  • Підпис FormField

У цій статті показано, як розробники можуть шукати електронні підписи різних типів у будь-якому документі за допомогою C# за допомогою GroupDocs.Signature API для .NET.

Пошук підписів QR-коду в C#

Нижче наведено найпростіший метод пошуку, який показує, як шукати підписи QR-коду в документі PDF. Ви можете використовувати той самий рядок коду для пошуку в будь-якому з підтримуваних форматів файлів.

// Search QR Code Signatures in PDF document using C#
using (Signature signature = new Signature("signed.pdf"))
{
    // search for signatures in document
    List<QrCodeSignature> signatures = signature.Search<QrCodeSignature>(SignatureType.QrCode);
 
    Console.WriteLine($"\\nSource document contains following signatures.");
    foreach (var qrCodeSignature in signatures)
    {
        Console.WriteLine($"QRCode signature found at page {qrCodeSignature.PageNumber} with type {qrCodeSignature.EncodeType.TypeName} and text {qrCodeSignature.Text}");
    }
}

Пошук штрих-кодів, QR-кодів та інших підписів у C#

Досить просто знайти підпис штрих-коду, підпис QR-коду, текстовий підпис або навіть прихований підпис метаданих у документі. Наведений нижче код показує, як різні типи підписів можна отримати з будь-якого документа на C#.

using (Signature signature = new Signature("signed.pdf"))
{
    // search for signatures in document
    SearchResult result = signature.Search(SignatureType.Text, SignatureType.Barcode, SignatureType.QrCode, SignatureType.Metadata);
    if (result.Signatures.Count > 0)
    {
        Console.WriteLine($"\\nSource document contains following signatures.");
        foreach (var resSignature in result.Signatures)
        {
            Console.WriteLine($"Signature found at page {resSignature.PageNumber} with type {resSignature.SignatureType} and Id#: {resSignature.SignatureId}");
        }
    }
    else
    {
        Console.WriteLine("No signature was found.");
    }                
}

Шукайте підпис зображення в PDF і захоплюйте вміст у C#

.NET Signature API дозволяє не тільки отримувати всі підписи різних типів, але також захоплює вміст даних зображень для презентацій, електронних таблиць, текстових редакторів і PDF-документів. Нижче наведено вихідний код, який показує, як отримати вміст зображення після успішного пошуку підпису зображення з документа PDF у C#.

using (Signature signature = new Signature("signed.pdf"))
{
    // setup search options
    ImageSearchOptions searchOptions = new ImageSearchOptions()
    {
        // enable grabbing image content feature
        ReturnContent = true,
        // set minimum size if needed
        MinContentSize = 0,
        // set maximum size if needed
        MaxContentSize = 0,                    
        // specify exact image type to be returned
        ReturnContentType = FileType.JPEG,                                   
    };
    // search document
    List<ImageSignature> signatures = signature.Search<ImageSignature>(searchOptions);
    Console.WriteLine($"\\nSource document contains following image signature(s).");
    // output signatures
    foreach (ImageSignature imageSignature in signatures)
    {
        Console.Write($"Found Image signature at page {imageSignature.PageNumber} and size {imageSignature.Size}.");
        Console.WriteLine($"Location at {imageSignature.Left}-{imageSignature.Top}. Size is {imageSignature.Width}x{imageSignature.Height}.");
    }
    //Save signature images
    string outputPath = "Output";
    if (!Directory.Exists(outputPath))
    {
        Directory.CreateDirectory(outputPath);
    }
    foreach (ImageSignature imageSignature in signatures)
    {
        Console.Write($"Found Image signature at page {imageSignature.PageNumber} and size {imageSignature.Size}.");
        Console.WriteLine($"Location at {imageSignature.Left}-{imageSignature.Top}. Size is {imageSignature.Width}x{imageSignature.Height}.");
        string outputFilePath = System.IO.Path.Combine(outputPath, $"image{i}{imageSignature.Format.Extension}");
        using (FileStream fs = new FileStream(outputFilePath, FileMode.Create))
        {
            fs.Write(imageSignature.Content, 0, imageSignature.Content.Length);
        }
    }
}

Ключові ресурси для GroupDocs.Signature for .NET

Дізнайтеся більше про API GroupDocs.Signaure для .NET. Ви можете вільно звернутися до служби підтримки, якщо вам потрібна допомога: