Электронная подпись — это цифровые данные, прилагаемые к документу, передаваемому в электронном виде. Он подтверждает намерение отправителя подписать документ.
Как разработчик, вы можете программно подписывать документы, а также проверять, правильно ли подписан документ с помощью правильной подписи. GroupDocs.Signature for .NET API предоставляет множество таких функций и дает вам полный контроль над процессом электронной подписи. Он предоставляет различные реализации электронной подписи, такие как:
- Текстовые подписи (текст, аннотации, водяные знаки, наклейки)
- Подпись изображения — с такими параметрами, как эффекты изображения и вращение.
- Цифровая подпись — на основе цифровых сертификатов.
- Подпись штрих-кода
- QR-код Подпись
- Печать с подписью
- Подпись метаданных
- Подпись FormField
В этой статье показано, как разработчики могут искать электронные подписи различных типов в любом документе с помощью C#, используя API GroupDocs.Signature for .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. Вы можете свободно обращаться в службу поддержки, если вам нужна помощь:
- Документация
- Примеры исходного кода - GitHub
- Форум