Invoering
Teksthandtekeningen zijn een veelgebruikte methode om de auteur, goedkeuring of verificatie van een document aan te geven. Bij digitaal documentbeheer is de mogelijkheid om programmatisch te zoeken naar en teksthandtekeningen te extraheren cruciaal voor documentvalidatie, workflowautomatisering en nalevingscontrole. GroupDocs.Signature voor .NET biedt een uitgebreide oplossing voor het implementeren van zoekfunctionaliteit voor teksthandtekeningen in uw .NET-applicaties, met ondersteuning voor diverse documentformaten en geavanceerde zoekmogelijkheden.
In deze tutorial wordt u door het proces van het zoeken naar teksthandtekeningen in documenten met behulp van GroupDocs.Signature voor .NET geleid. De tutorial bevat gedetailleerde uitleg, stapsgewijze instructies en praktische codevoorbeelden.
Vereisten
Voordat u met het zoeken naar teksthandtekeningen aan de slag gaat, moet u ervoor zorgen dat u aan de volgende vereisten voldoet:
GroupDocs.Signature voor .NET-bibliotheek: download en installeer de bibliotheek vanuit de releases pagina.
Ontwikkelomgeving: Stel een geschikte ontwikkelomgeving in, zoals Visual Studio of een compatibele IDE met .NET-ondersteuning.
Voorbeelddocumenten: bereid testdocumenten voor met teksthandtekeningen ter verificatie en testen.
Basiskennis van C#: Kennis van de programmeertaal C# en concepten van het .NET Framework.
Naamruimten importeren
Begin met het importeren van de benodigde naamruimten om toegang te krijgen tot de GroupDocs.Signature-functionaliteit:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
Laten we het proces van het zoeken naar teksthandtekeningen opsplitsen in duidelijke, beheersbare stappen:
Stap 1: Het document laden
Definieer eerst het documentpad en initialiseer een Signature
voorwerp:
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
using (Signature signature = new Signature(filePath))
{
// Hier wordt de zoekcode voor teksthandtekeningen toegevoegd
}
Stap 2: Zoekopties configureren
Maken en configureren TextSearchOptions
om aan te geven hoe teksthandtekeningen moeten worden doorzocht:
// Tekstzoekopties configureren
TextSearchOptions options = new TextSearchOptions
{
// Zoeken op alle pagina's
AllPages = true,
// Optioneel: geef tekst op die moet overeenkomen
// Tekst = "Goedgekeurd",
// Optioneel: specificeer het matchtype
// MatchType = TextMatchType.Bevat
};
Stap 3: Zoekopdracht naar teksthandtekening uitvoeren
Voer de zoekopdracht uit met behulp van de geconfigureerde opties:
// Zoeken naar teksthandtekeningen
List<TextSignature> signatures = signature.Search<TextSignature>(options);
Stap 4: Resultaten verwerken en weergeven
Loop door de gevonden teksthandtekeningen en geef hun details weer:
// Zoekresultaten weergeven
Console.WriteLine($"\nSource document '{fileName}' contains {signatures.Count} text signature(s):");
foreach (TextSignature textSignature in signatures)
{
Console.WriteLine($"Text signature found at page {textSignature.PageNumber} with text '{textSignature.Text}'");
Console.WriteLine($"Location: X={textSignature.Left}, Y={textSignature.Top}, Width={textSignature.Width}, Height={textSignature.Height}");
Console.WriteLine($"Signature type: {textSignature.SignatureImplementation}");
Console.WriteLine();
}
Volledig voorbeeld
Hier is een volledig werkend voorbeeld dat laat zien hoe u naar teksthandtekeningen in een document kunt zoeken:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
namespace TextSignatureSearch
{
class Program
{
static void Main(string[] args)
{
// Documentpad - bijwerken met uw bestandspad
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
// Initialiseer Signature-instantie
using (Signature signature = new Signature(filePath))
{
try
{
// Tekstzoekopties configureren
TextSearchOptions options = new TextSearchOptions
{
// Zoeken op alle pagina's
AllPages = true
};
// Zoeken naar teksthandtekeningen
List<TextSignature> signatures = signature.Search<TextSignature>(options);
// Zoekresultaten weergeven
Console.WriteLine($"\nSource document '{fileName}' contains {signatures.Count} text signature(s):");
foreach (TextSignature textSignature in signatures)
{
Console.WriteLine($"Text signature found at page {textSignature.PageNumber} with text '{textSignature.Text}'");
Console.WriteLine($"Location: X={textSignature.Left}, Y={textSignature.Top}, Width={textSignature.Width}, Height={textSignature.Height}");
Console.WriteLine($"Signature type: {textSignature.SignatureImplementation}");
Console.WriteLine();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred: {ex.Message}");
}
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Geavanceerde technieken voor het zoeken naar teksthandtekeningen
Zoeken met specifieke tekstcriteria
Voor gerichtere zoekopdrachten kunt u de TextSearchOptions
om te filteren op specifieke tekstinhoud:
// Zoekopties maken met specifieke tekstcriteria
TextSearchOptions options = new TextSearchOptions
{
// Zoeken op alle pagina's
AllPages = true,
// Zoeken naar specifieke tekst
Text = "Approved",
// Specificeer het matchtype (Bevat, Exact, Begint met, Eindigt met)
MatchType = TextMatchType.Contains,
// Hoofdlettergevoelig zoeken
MatchCase = true
};
Zoeken in specifieke documentgebieden
U kunt de zoekopdracht beperken tot specifieke delen van het document:
// Zoekopties maken voor een specifiek documentgebied
TextSearchOptions options = new TextSearchOptions
{
// Zoek alleen op specifieke pagina's
AllPages = false,
PageNumber = 1,
// Of geef meerdere pagina's op
PagesSetup = new PagesSetup { Pages = new List<int> { 1, 3, 5 } },
// Definieer een specifiek gebied om binnen te zoeken
Rectangle = new Rectangle(100, 100, 400, 200)
};
Geavanceerde tekstfiltering
Implementeer aangepaste filterlogica voor complexere zoekvereisten:
// Zoekopties creëren met aangepaste verwerking
TextSearchOptions options = new TextSearchOptions
{
AllPages = true,
// Aangepaste verwerking definiëren met behulp van een gedelegeerde
ProcessCompleted = (TextSignature signature) =>
{
// Aangepaste validatielogica
bool isValid = signature.Text.Length > 5 &&
(signature.Text.Contains("Approved") || signature.Text.Contains("Verified"));
return isValid;
}
};
Zoeken naar verschillende tekststijlen
Gebruik lettertype- en stijlkenmerken om teksthandtekeningen te filteren:
// Zoekopties creëren die gericht zijn op specifieke tekstweergave
TextSearchOptions options = new TextSearchOptions
{
// Filteren op lettertypenaam
FontName = "Arial",
// Filter op lettergroottebereik
MinFontSize = 10,
MaxFontSize = 14,
// Filteren op letterkleur
ForeColor = System.Drawing.Color.Blue
};
Handtekeningmetagegevens extraheren
Metagegevens die aan teksthandtekeningen zijn gekoppeld, extraheren en verwerken:
foreach (TextSignature signature in signatures)
{
// Toegang tot handtekeningmetagegevens
if (signature.Metadata != null && signature.Metadata.Count > 0)
{
Console.WriteLine("Signature Metadata:");
foreach (var item in signature.Metadata)
{
Console.WriteLine($" {item.Key}: {item.Value}");
}
}
// Controleer de datums voor het aanmaken en wijzigen van handtekeningen
if (signature.CreatedOn.HasValue)
{
Console.WriteLine($"Created on: {signature.CreatedOn.Value}");
}
if (signature.ModifiedOn.HasValue)
{
Console.WriteLine($"Modified on: {signature.ModifiedOn.Value}");
}
}
Conclusie
In deze uitgebreide handleiding hebben we uitgelegd hoe u met GroupDocs.Signature voor .NET naar teksthandtekeningen in documenten kunt zoeken. Van eenvoudige zoekbewerkingen tot geavanceerde technieken: u beschikt nu over de kennis om robuuste functionaliteit voor teksthandtekeningen in uw .NET-applicaties te implementeren.
GroupDocs.Signature biedt een krachtig en flexibel raamwerk voor het werken met teksthandtekeningen, waarmee u geavanceerde documentverificatiesystemen, geautomatiseerde workflowoplossingen en tools voor nalevingsvalidatie kunt bouwen.
Veelgestelde vragen
Kan ik zoeken naar teksthandtekeningen in documenten die met een wachtwoord zijn beveiligd?
Ja, GroupDocs.Signature ondersteunt het zoeken naar teksthandtekeningen in wachtwoordbeveiligde documenten. U kunt het wachtwoord opgeven bij het initialiseren van de Signature
voorwerp:
LoadOptions loadOptions = new LoadOptions { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
// Zoeken naar teksthandtekeningen
}
Welke documentformaten worden ondersteund voor het zoeken naar teksthandtekeningen?
GroupDocs.Signature ondersteunt een breed scala aan documentformaten, waaronder PDF, Microsoft Office-documenten (Word, Excel, PowerPoint), OpenOffice-formaten, afbeeldingen en meer.
Kan ik zoeken naar teksthandtekeningen met een specifieke opmaak, zoals vet of cursief?
Ja, u kunt zoeken naar teksthandtekeningen met specifieke opmaak door de FontBold
En FontItalic
eigenschappen in TextSearchOptions
:
TextSearchOptions options = new TextSearchOptions
{
FontBold = true,
FontItalic = true
};
Hoe kan ik de zoekprestaties voor grote documenten verbeteren?
Voor grote documenten kunt u de zoekprestaties optimaliseren door:
- Beperk de zoekopdracht tot specifieke pagina’s in plaats van het hele document te doorzoeken
- Door specifiekere zoekcriteria te gebruiken om het aantal matches te verminderen
- Een zoekgebied specificeren met behulp van de
Rectangle
eigendom als u weet waar handtekeningen zich doorgaans bevinden - Het implementeren van paginering in uw applicatie om zoekresultaten in batches te verwerken
Kan ik zien of een tekstuele handtekening elektronisch is toegevoegd of deel uitmaakt van de originele documentinhoud?
GroupDocs.Signature kan onderscheid maken tussen verschillende soorten tekstelementen in documenten. SignatureImplementation
eigendom van TextSignature
Geeft aan of de tekst een formele handtekening of reguliere documentinhoud betreft. De definitieve vaststelling kan echter afhangen van hoe de tekst oorspronkelijk aan het document is toegevoegd.