Zavedení
Textové podpisy jsou běžnou metodou pro označení autorství, schválení nebo ověření dokumentů. V oblasti správy digitálních dokumentů je schopnost programově vyhledávat a extrahovat textové podpisy klíčová pro ověřování dokumentů, automatizaci pracovních postupů a ověřování souladu s předpisy. GroupDocs.Signature for .NET nabízí komplexní řešení pro implementaci funkce vyhledávání textových podpisů ve vašich aplikacích .NET s podporou různých formátů dokumentů a pokročilých vyhledávacích funkcí.
Tento tutoriál vás provede procesem vyhledávání textových podpisů v dokumentech pomocí GroupDocs.Signature pro .NET a poskytne vám podrobná vysvětlení, podrobné pokyny a praktické příklady kódu.
Předpoklady
Než se pustíte do vyhledávání textových podpisů, ujistěte se, že máte následující předpoklady:
Knihovna GroupDocs.Signature pro .NET: Stáhněte a nainstalujte knihovnu z stránka s vydáními.
Vývojové prostředí: Nastavte vhodné vývojové prostředí, jako je Visual Studio nebo jakékoli kompatibilní IDE s podporou .NET.
Ukázkové dokumenty: Připravte testovací dokumenty obsahující textové podpisy pro ověření a testování.
Základní znalost C#: Znalost programovacího jazyka C# a konceptů .NET frameworku.
Importovat jmenné prostory
Začněte importem potřebných jmenných prostorů pro přístup k funkcím GroupDocs.Signature:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
Nyní si rozdělme proces vyhledávání textových podpisů do jasných a zvládnutelných kroků:
Krok 1: Vložení dokumentu
Nejprve definujte cestu k dokumentu a inicializujte Signature
objekt:
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
using (Signature signature = new Signature(filePath))
{
// Zde bude přidán vyhledávací kód pro textový podpis
}
Krok 2: Konfigurace možností vyhledávání
Vytvořit a nakonfigurovat TextSearchOptions
Chcete-li určit, jak se mají vyhledávat textové podpisy:
// Konfigurace možností textového vyhledávání
TextSearchOptions options = new TextSearchOptions
{
// Hledat na všech stránkách
AllPages = true,
// Volitelné: zadejte text, který se má shodovat
// Text = „Schváleno“,
// Volitelné: zadejte typ shody
// TypShody = TypShodyTextu.Obsahuje
};
Krok 3: Proveďte vyhledávání textového podpisu
Proveďte vyhledávací operaci s použitím nakonfigurovaných možností:
// Hledání textových podpisů
List<TextSignature> signatures = signature.Search<TextSignature>(options);
Krok 4: Zpracování a zobrazení výsledků
Projděte nalezené textové podpisy a zobrazte jejich podrobnosti:
// Zobrazit výsledky vyhledávání
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();
}
Kompletní příklad
Zde je kompletní pracovní příklad, který ukazuje, jak vyhledávat textové podpisy v dokumentu:
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)
{
// Cesta k dokumentu – aktualizujte cestou k souboru
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
// Inicializovat instanci podpisu
using (Signature signature = new Signature(filePath))
{
try
{
// Konfigurace možností textového vyhledávání
TextSearchOptions options = new TextSearchOptions
{
// Hledat na všech stránkách
AllPages = true
};
// Hledání textových podpisů
List<TextSignature> signatures = signature.Search<TextSignature>(options);
// Zobrazit výsledky vyhledávání
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();
}
}
}
Pokročilé techniky vyhledávání textových podpisů
Vyhledávání podle specifických textových kritérií
Pro cílenější vyhledávání si můžete přizpůsobit TextSearchOptions
filtrovat podle konkrétního textového obsahu:
// Vytvořte možnosti vyhledávání s konkrétními textovými kritérii
TextSearchOptions options = new TextSearchOptions
{
// Hledat na všech stránkách
AllPages = true,
// Hledat konkrétní text
Text = "Approved",
// Zadejte typ shody (Obsahuje, Přesná, Začíná na, Končí na)
MatchType = TextMatchType.Contains,
// Vyhledávání s rozlišením velkých a malých písmen
MatchCase = true
};
Vyhledávání v určitých oblastech dokumentu
Vyhledávání můžete omezit na konkrétní oblasti dokumentu:
// Vytvoření možností vyhledávání pro konkrétní oblast dokumentu
TextSearchOptions options = new TextSearchOptions
{
// Hledat pouze na konkrétních stránkách
AllPages = false,
PageNumber = 1,
// Nebo zadejte více stránek
PagesSetup = new PagesSetup { Pages = new List<int> { 1, 3, 5 } },
// Definujte konkrétní oblast, ve které chcete vyhledávat
Rectangle = new Rectangle(100, 100, 400, 200)
};
Pokročilé filtrování textu
Implementujte vlastní logiku filtrování pro složitější požadavky na vyhledávání:
// Vytvořte možnosti vyhledávání s vlastním zpracováním
TextSearchOptions options = new TextSearchOptions
{
AllPages = true,
// Definování vlastního zpracování pomocí delegáta
ProcessCompleted = (TextSignature signature) =>
{
// Vlastní ověřovací logika
bool isValid = signature.Text.Length > 5 &&
(signature.Text.Contains("Approved") || signature.Text.Contains("Verified"));
return isValid;
}
};
Hledání různých textových stylů
Použití vlastností písma a stylu k filtrování textových podpisů:
// Vytvořte možnosti vyhledávání zaměřené na konkrétní vzhled textu
TextSearchOptions options = new TextSearchOptions
{
// Filtrovat podle názvu písma
FontName = "Arial",
// Filtrovat podle rozsahu velikostí písma
MinFontSize = 10,
MaxFontSize = 14,
// Filtrovat podle barvy písma
ForeColor = System.Drawing.Color.Blue
};
Extrakce metadat podpisu
Extrakce a zpracování metadat spojených s textovými podpisy:
foreach (TextSignature signature in signatures)
{
// Metadata podpisu pro přístup
if (signature.Metadata != null && signature.Metadata.Count > 0)
{
Console.WriteLine("Signature Metadata:");
foreach (var item in signature.Metadata)
{
Console.WriteLine($" {item.Key}: {item.Value}");
}
}
// Zkontrolujte data vytvoření a úpravy podpisu
if (signature.CreatedOn.HasValue)
{
Console.WriteLine($"Created on: {signature.CreatedOn.Value}");
}
if (signature.ModifiedOn.HasValue)
{
Console.WriteLine($"Modified on: {signature.ModifiedOn.Value}");
}
}
Závěr
V této komplexní příručce jsme prozkoumali, jak vyhledávat textové podpisy v dokumentech pomocí nástroje GroupDocs.Signature pro .NET. Od základních vyhledávacích operací až po pokročilé techniky – nyní máte znalosti pro implementaci robustní funkce textových podpisů ve vašich .NET aplikacích.
GroupDocs.Signature poskytuje výkonný a flexibilní rámec pro práci s textovými podpisy, který vám umožňuje vytvářet sofistikované systémy ověřování dokumentů, automatizovaná řešení pracovních postupů a nástroje pro ověřování souladu s předpisy.
Často kladené otázky
Mohu vyhledávat textové podpisy v dokumentech chráněných heslem?
Ano, GroupDocs.Signature podporuje vyhledávání textových podpisů v dokumentech chráněných heslem. Heslo můžete zadat při inicializaci. Signature
objekt:
LoadOptions loadOptions = new LoadOptions { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
// Hledání textových podpisů
}
Které formáty dokumentů jsou podporovány pro vyhledávání textových podpisů?
GroupDocs.Signature podporuje širokou škálu formátů dokumentů včetně PDF, dokumentů Microsoft Office (Word, Excel, PowerPoint), formátů OpenOffice, obrázků a dalších.
Mohu vyhledávat textové podpisy se specifickým formátováním, jako je tučné písmo nebo kurzíva?
Ano, textové podpisy se specifickým formátováním můžete vyhledávat pomocí FontBold
a FontItalic
nemovitosti v TextSearchOptions
:
TextSearchOptions options = new TextSearchOptions
{
FontBold = true,
FontItalic = true
};
Jak mohu zlepšit výkon vyhledávání u velkých dokumentů?
U velkých dokumentů můžete optimalizovat výkon vyhledávání pomocí:
- Omezení vyhledávání na konkrétní stránky namísto prohledávání celého dokumentu
- Použití konkrétnějších vyhledávacích kritérií pro snížení počtu shod
- Určení oblasti vyhledávání pomocí
Rectangle
vlastnost, pokud víte, kde se obvykle nacházejí podpisy - Implementace stránkování ve vaší aplikaci pro dávkové zpracování výsledků vyhledávání
Mohu zjistit, zda byl textový podpis přidán elektronicky, nebo zda je součástí původního obsahu dokumentu?
GroupDocs.Signature dokáže rozlišovat mezi různými typy textových prvků v dokumentech. SignatureImplementation
majetek TextSignature
označuje, zda se jedná o formální podpis nebo běžný obsah dokumentu. Definitivní určení však může záviset na tom, jak byl text do dokumentu původně přidán.