Products Technologies Demo Docs Blog Support Company
TX Text Control 34.0 SP1 has been released - Learn more

Searching Strings in PDF Documents

TX Text Control is not only able to load and modify MS Word documents such as DOC, RTF and DOCX files. TX Text Control is also able to import "born digital" PDF documents, so that you can view, edit or convert these files. An overview of the features and the possibilities can be read here: PDF Reflow - Load, view, edit and convert Adobe PDF files The combination of ServerTextControl, LINQ and regular expressions provides a powerful tool to search strings in PDF documents. The method…

Searching Strings in PDF Documents
Searching strings in PDF documents

TX Text Control is not only able to load and modify MS Word documents such as DOC, RTF and DOCX files. TX Text Control is also able to import "born digital" PDF documents, so that you can view, edit or convert these files.

An overview of the features and the possibilities can be read here:

PDF Reflow - Load, view, edit and convert Adobe PDF files

The combination of ServerTextControl, LINQ and regular expressions provides a powerful tool to search strings in PDF documents. The method FindInPDF listed below accepts a PDF document as a file path and a value to seek. ServerTextControl opens the PDF in order to provide the plain text to a regular expression.

The resulting MatchCollection of the Matches method is used by LINQ to return the index of each individual result that are stored in an IEnumerable<int> object.

private IEnumerable<int> FindInPDF(string path, string value)
{
    string sSourceString = "";

    // create a temporary ServerTextControl that imports the PDF file
    using (TXTextControl.ServerTextControl tx =
        new TXTextControl.ServerTextControl())
    {
        TXTextControl.LoadSettings ls= new TXTextControl.LoadSettings();
        ls.PDFImportSettings = TXTextControl.PDFImportSettings.GenerateLines;

        tx.Create();
        tx.Load(path, TXTextControl.StreamType.AdobePDF, ls);

        // prepare the string to match the numbers of
        // control chartacters
        sSourceString = tx.Text.Replace("
","
"); 
    }

    // use RegEx and LINQ to match the strings and to return the ID
    return
        Regex.Matches(sSourceString, value).Cast<Match>().Select(m => m.Index);
}

The following code returns all index positions of the string "text" in a PDF document:

IEnumerable<int> index = FindInPDF("test.pdf", "text");

Stay in the loop!

Subscribe to the newsletter to receive the latest updates.

Related Posts

PDFTutorial

Create Password Protected and Signed Adobe PDF and PDF/A Documents

The document format Adobe PDF is probably the most popular format when it comes to invoices, quotes and other business documents. It has several advantages: It is a "read only" document that…


ASP.NETASP.NET CoreMIME

Why Defining MIME Types for PDF/A Attachments Is Essential

The PDF/A standard was created to ensure the long-term reliable archiving of digital documents. An important aspect of the standard involves properly handling embedded files and attachments within…


ASP.NETASP.NET CorePDF

Validate Digital Signatures and the Integrity of PDF Documents in C# .NET

Learn how to validate digital signatures and the integrity of PDF documents using the PDF Validation component from TX Text Control in C# .NET. Ensure the authenticity and compliance of your…


ASP.NETASP.NET CorePDF

Validate PDF/UA Documents and Verify Electronic Signatures in C# .NET

The new TXTextControl.PDF.Validation NuGet package enables you to validate PDF/UA documents and verify digital signatures directly in your code without relying on third-party tools or external…


ASP.NETASP.NET CoreC#

How To Choose the Right C# PDF Generation Library: Developer Checklist

To make your choice easy, this guide provides a systematic evaluation framework for two library categories: basic and enterprise PDF libraries. It covers matching features to use cases, evaluating…

Summarize this blog post with:

Share on this blog post on: