PDF Search

High-performance PDF document search using server-side Aspose.PDF for .NET APIs

How to Search PDF with C#

In order to search PDF file, we’ll use Aspose.PDF API which is a feature-rich, powerful and easy to use document manipulation API. Open NuGet package manager, search for Aspose.PDF and install. You may also use the following command from the Package Manager Console. When signing a PDF document using a signature, you basically confirm its contents “as is”. Consequently, any other changes made afterward invalidate the signature and thus, you would know if the document was altered.

Search PDF document without opening using .NET:

  1. Create TextFragmentAbsorber Object with text to find as parameter.
  2. Get all extracted text fragments collection.
  3. Loop through each fragment to get all of its information.

Search PDF File

This sample code shows how to search PDF file using .NET

    //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);
    }