Um PDF-Dateien zu durchsuchen, verwenden wir die API Aspose.PDF, eine funktionsreiche, leistungsstarke und einfach zu verwendende API zur Bearbeitung von Dokumenten. Öffnen Sie den NuGet Paketmanager, suchen Sie nach Aspose.PDF und installieren Sie ihn. Sie können auch den folgenden Befehl von der Package Manager Console aus verwenden. Wenn Sie ein PDF-Dokument mit einer Signatur signieren, bestätigen Sie dessen Inhalt grundsätzlich „wie er ist“. Folglich machen alle anderen Änderungen, die später vorgenommen werden, die Signatur ungültig, sodass Sie wissen, ob das Dokument geändert wurde.
PDF-Dokument durchsuchen, ohne es mit .NET zu öffnen:
- Erstellen Sie ein TextFragmentAbsorber-Objekt mit dem zu suchenden Text als Parameter.
- Holen Sie sich die Sammlung aller extrahierten Textfragmente.
- Gehen Sie jedes Fragment durch, um alle zugehörigen Informationen zu erhalten.
PDF-Datei durchsuchen
//Search Text from All the Pages of PDF Document
Document pdfDocument = new Document("SearchAndGetTextFromAll.pdf");
// Create TextAbsorber object to find all instances of the input search phrase
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
// Accept the absorber for all the pages
pdfDocument.Pages.Accept(textFragmentAbsorber);
// Get the extracted text fragments
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
// Loop through the fragments
foreach (TextFragment textFragment in textFragmentCollection)
{
Console.WriteLine("Text : {0} ", textFragment.Text);
Console.WriteLine("Position : {0} ", textFragment.Position);
Console.WriteLine("XIndent : {0} ", textFragment.Position.XIndent);
Console.WriteLine("YIndent : {0} ", textFragment.Position.YIndent);
Console.WriteLine("Font - Name : {0}", textFragment.TextState.Font.FontName);
Console.WriteLine("Font - IsAccessible : {0} ", textFragment.TextState.Font.IsAccessible);
Console.WriteLine("Font - IsEmbedded : {0} ", textFragment.TextState.Font.IsEmbedded);
Console.WriteLine("Font - IsSubset : {0} ", textFragment.TextState.Font.IsSubset);
Console.WriteLine("Font Size : {0} ", textFragment.TextState.FontSize);
Console.WriteLine("Foreground Color : {0} ", textFragment.TextState.ForegroundColor);
}