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:

  1. GroupDocs.Signature voor .NET-bibliotheek: download en installeer de bibliotheek vanuit de releases pagina.

  2. Ontwikkelomgeving: Stel een geschikte ontwikkelomgeving in, zoals Visual Studio of een compatibele IDE met .NET-ondersteuning.

  3. Voorbeelddocumenten: bereid testdocumenten voor met teksthandtekeningen ter verificatie en testen.

  4. 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:

  1. Beperk de zoekopdracht tot specifieke pagina’s in plaats van het hele document te doorzoeken
  2. Door specifiekere zoekcriteria te gebruiken om het aantal matches te verminderen
  3. Een zoekgebied specificeren met behulp van de Rectangle eigendom als u weet waar handtekeningen zich doorgaans bevinden
  4. 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.

Zie ook