Wstęp
Podpisy tekstowe są powszechną metodą potwierdzania autorstwa, zatwierdzenia lub weryfikacji dokumentu. W cyfrowym zarządzaniu dokumentami możliwość programowego wyszukiwania i wyodrębniania podpisów tekstowych ma kluczowe znaczenie dla walidacji dokumentów, automatyzacji przepływu pracy i weryfikacji zgodności. GroupDocs.Signature for .NET oferuje kompleksowe rozwiązanie do implementacji funkcji wyszukiwania podpisów tekstowych w aplikacjach .NET, obsługując różne formaty dokumentów i zaawansowane funkcje wyszukiwania.
W tym samouczku dowiesz się, jak wyszukiwać podpisy tekstowe w dokumentach za pomocą GroupDocs.Signature dla platformy .NET, a także poznasz szczegółowe wyjaśnienia, instrukcje krok po kroku i praktyczne przykłady kodu.
Wymagania wstępne
Zanim przejdziesz do wyszukiwania podpisów tekstowych, upewnij się, że spełnione są następujące wymagania wstępne:
Biblioteka GroupDocs.Signature dla platformy .NET: Pobierz i zainstaluj bibliotekę z strona wydań.
Środowisko programistyczne: Skonfiguruj odpowiednie środowisko programistyczne, takie jak Visual Studio lub dowolne kompatybilne środowisko IDE obsługujące platformę .NET.
Przykładowe dokumenty: Przygotuj dokumenty testowe zawierające podpisy tekstowe w celu weryfikacji i testowania.
Podstawowa wiedza z zakresu języka C#: Znajomość języka programowania C# i koncepcji .NET Framework.
Importuj przestrzenie nazw
Zacznij od zaimportowania niezbędnych przestrzeni nazw, aby uzyskać dostęp do funkcjonalności GroupDocs.Signature:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
Teraz podzielmy proces wyszukiwania podpisów tekstowych na jasne i łatwe do opanowania kroki:
Krok 1: Załaduj dokument
Najpierw zdefiniuj ścieżkę dokumentu i zainicjuj Signature
obiekt:
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
using (Signature signature = new Signature(filePath))
{
// Tutaj zostanie dodany kod wyszukiwania podpisu tekstowego
}
Krok 2: Skonfiguruj opcje wyszukiwania
Utwórz i skonfiguruj TextSearchOptions
aby określić sposób wyszukiwania podpisów tekstowych:
// Konfiguruj opcje wyszukiwania tekstu
TextSearchOptions options = new TextSearchOptions
{
// Szukaj na wszystkich stronach
AllPages = true,
// Opcjonalnie: określ tekst do dopasowania
// Tekst = "Zatwierdzono",
// Opcjonalnie: określ typ dopasowania
// MatchType = TextMatchType.Contains
};
Krok 3: Wykonaj wyszukiwanie według podpisu tekstowego
Wykonaj operację wyszukiwania, korzystając ze skonfigurowanych opcji:
// Wyszukaj podpisy tekstowe
List<TextSignature> signatures = signature.Search<TextSignature>(options);
Krok 4: Przetwarzanie i wyświetlanie wyników
Przejrzyj znalezione sygnatury tekstowe i wyświetl ich szczegóły:
// Wyświetl wyniki wyszukiwania
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();
}
Pełny przykład
Oto kompletny przykład działania, który pokazuje, jak wyszukiwać podpisy tekstowe w dokumencie:
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)
{
// Ścieżka dokumentu – zaktualizuj ją, wpisując ścieżkę do pliku
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
// Zainicjuj instancję podpisu
using (Signature signature = new Signature(filePath))
{
try
{
// Konfiguruj opcje wyszukiwania tekstu
TextSearchOptions options = new TextSearchOptions
{
// Szukaj na wszystkich stronach
AllPages = true
};
// Wyszukaj podpisy tekstowe
List<TextSignature> signatures = signature.Search<TextSignature>(options);
// Wyświetl wyniki wyszukiwania
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();
}
}
}
Zaawansowane techniki wyszukiwania podpisów tekstowych
Wyszukiwanie według określonych kryteriów tekstowych
Aby uzyskać bardziej ukierunkowane wyszukiwania, możesz dostosować TextSearchOptions
aby filtrować według określonej zawartości tekstowej:
// Utwórz opcje wyszukiwania z określonymi kryteriami tekstowymi
TextSearchOptions options = new TextSearchOptions
{
// Szukaj na wszystkich stronach
AllPages = true,
// Wyszukaj konkretny tekst
Text = "Approved",
// Określ typ dopasowania (Zawiera, Dokładne, Zaczyna się od, Kończy się na)
MatchType = TextMatchType.Contains,
// Wyszukiwanie uwzględniające wielkość liter
MatchCase = true
};
Wyszukiwanie w określonych obszarach dokumentu
Możesz ograniczyć wyszukiwanie do określonych obszarów dokumentu:
// Utwórz opcje wyszukiwania dla określonego obszaru dokumentu
TextSearchOptions options = new TextSearchOptions
{
// Szukaj tylko na określonych stronach
AllPages = false,
PageNumber = 1,
// Lub określ wiele stron
PagesSetup = new PagesSetup { Pages = new List<int> { 1, 3, 5 } },
// Zdefiniuj konkretny obszar, w którym chcesz przeprowadzić wyszukiwanie
Rectangle = new Rectangle(100, 100, 400, 200)
};
Zaawansowane filtrowanie tekstu
Wdrażanie niestandardowej logiki filtrowania w przypadku bardziej złożonych wymagań wyszukiwania:
// Utwórz opcje wyszukiwania z niestandardowym przetwarzaniem
TextSearchOptions options = new TextSearchOptions
{
AllPages = true,
// Zdefiniuj przetwarzanie niestandardowe za pomocą delegata
ProcessCompleted = (TextSignature signature) =>
{
// Niestandardowa logika walidacji
bool isValid = signature.Text.Length > 5 &&
(signature.Text.Contains("Approved") || signature.Text.Contains("Verified"));
return isValid;
}
};
Wyszukiwanie różnych stylów tekstu
Użyj właściwości czcionki i stylu, aby filtrować podpisy tekstowe:
// Utwórz opcje wyszukiwania ukierunkowane na konkretny wygląd tekstu
TextSearchOptions options = new TextSearchOptions
{
// Filtruj według nazwy czcionki
FontName = "Arial",
// Filtruj według zakresu rozmiaru czcionki
MinFontSize = 10,
MaxFontSize = 14,
// Filtruj według koloru czcionki
ForeColor = System.Drawing.Color.Blue
};
Wyodrębnianie metadanych podpisu
Ekstrakcja i przetwarzanie metadanych powiązanych z podpisami tekstowymi:
foreach (TextSignature signature in signatures)
{
// Dostęp do metadanych podpisu
if (signature.Metadata != null && signature.Metadata.Count > 0)
{
Console.WriteLine("Signature Metadata:");
foreach (var item in signature.Metadata)
{
Console.WriteLine($" {item.Key}: {item.Value}");
}
}
// Sprawdź daty utworzenia i modyfikacji podpisu
if (signature.CreatedOn.HasValue)
{
Console.WriteLine($"Created on: {signature.CreatedOn.Value}");
}
if (signature.ModifiedOn.HasValue)
{
Console.WriteLine($"Modified on: {signature.ModifiedOn.Value}");
}
}
Wniosek
W tym kompleksowym przewodniku omówimy wyszukiwanie podpisów tekstowych w dokumentach za pomocą GroupDocs.Signature dla platformy .NET. Od podstawowych operacji wyszukiwania po zaawansowane techniki – teraz posiadasz wiedzę niezbędną do wdrożenia rozbudowanej funkcjonalności podpisów tekstowych w aplikacjach .NET.
GroupDocs.Signature to potężne i elastyczne rozwiązanie do pracy z podpisami tekstowymi, które umożliwia tworzenie zaawansowanych systemów weryfikacji dokumentów, zautomatyzowanych rozwiązań przepływu pracy i narzędzi do sprawdzania zgodności.
Najczęściej zadawane pytania
Czy mogę wyszukiwać podpisy tekstowe w dokumentach chronionych hasłem?
Tak, GroupDocs.Signature obsługuje wyszukiwanie podpisów tekstowych w dokumentach chronionych hasłem. Hasło można podać podczas inicjalizacji. Signature
obiekt:
LoadOptions loadOptions = new LoadOptions { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
// Wyszukaj podpisy tekstowe
}
Które formaty dokumentów są obsługiwane w przypadku wyszukiwania podpisów tekstowych?
GroupDocs.Signature obsługuje szeroką gamę formatów dokumentów, w tym pliki PDF, dokumenty pakietu Microsoft Office (Word, Excel, PowerPoint), formaty OpenOffice, obrazy i inne.
Czy mogę wyszukiwać podpisy tekstowe z zastosowaniem określonego formatowania, np. pogrubienia lub kursywy?
Tak, możesz wyszukiwać podpisy tekstowe z określonym formatowaniem, korzystając z FontBold
I FontItalic
nieruchomości w TextSearchOptions
:
TextSearchOptions options = new TextSearchOptions
{
FontBold = true,
FontItalic = true
};
Jak mogę poprawić wydajność wyszukiwania w przypadku dużych dokumentów?
W przypadku dużych dokumentów wydajność wyszukiwania można zoptymalizować poprzez:
- Ograniczanie wyszukiwania do określonych stron zamiast przeszukiwania całego dokumentu
- Korzystanie z bardziej szczegółowych kryteriów wyszukiwania w celu zmniejszenia liczby wyników
- Określanie obszaru wyszukiwania za pomocą
Rectangle
nieruchomość, jeśli wiesz, gdzie zazwyczaj znajdują się podpisy - Wdrażanie paginacji w aplikacji w celu przetwarzania wyników wyszukiwania w partiach
Czy mogę sprawdzić, czy podpis tekstowy został dodany elektronicznie, czy też jest częścią oryginalnej treści dokumentu?
GroupDocs.Signature potrafi rozróżniać różne typy elementów tekstowych w dokumentach. SignatureImplementation
własność TextSignature
Określa, czy tekst jest formalnym podpisem, czy zwykłą treścią dokumentu. Ostateczne ustalenie może jednak zależeć od sposobu, w jaki tekst został pierwotnie dodany do dokumentu.