LoginSignup
10
9

More than 1 year has passed since last update.

C#でキーワードに基づいてPDFドキュメント内のテキストを検索し、テキストの背景色を設定する方法

Last updated at Posted at 2022-01-07

##背景
PDFファイルを読んでいる時、コンテンツが多すぎて込んでいるため、閲覧したいコンテンツが簡単に見つからない場合はよくあります。こういう際は、PDF読み取りソフトの検索機能を使って、指定したテキストをすばやく見つけるのは一般的です。この記事では、C#と無料のSpire.PDFコンポーネントを使用してこの機能を実現する方法を紹介します。

まずはC#コンソールアプリケーションを作成し、NuGet Package ManagerでFree Spire.PDFを検索してインストールします、以下に示す通り:
01.png

インストールした後、Free Spire.PDF dllはプロジェクトに自動的に参照されます。次は実現するために具体的な手順です。

###手順1 PDFドキュメントをロードする

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf");

###手順2 キーワードに基づいてPDFページで一致するテキストを検索し、該当する各テキストの背景色を設定する

PdfTextFind[] AllMatchedText = null;
//全てのページをトラバースする
foreach (PdfPageBase page in pdf.Pages)
{
    AllMatchedText = page.FindText("コーギー").Finds;
    foreach (PdfTextFind text in AllMatchedText)
    {
        //デフォルトの背景色を黄色に設定する
text.ApplyHighLight();
    }
}

ApplyHighLight()メソッドは、デフォルトで背景色を黄色に設定します。色をカスタマイズする必要がある場合は、次のメソッドを使用します。

text.ApplyHighLight(Color.Green);

###手順3 ドキュメントを保存する

pdf.SaveToFile("FindAndHighlight.pdf");

操作した結果は以下のようになります:
02.png

##完全なるコード:

using Spire.Pdf;
using Spire.Pdf.General.Find;

namespace FindText
{
    class Program
    {
        static void Main(string[] args)
        {
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf");

            PdfTextFind[] AllMatchedText = null;

            foreach (PdfPageBase page in pdf.Pages)
            {
                AllMatchedText = page.FindText("コーギー").Finds;
                foreach (PdfTextFind text in AllMatchedText)
                {
                    text.ApplyHighLight();//デフォルトの背景色を黄色に設定する
                             //text.ApplyHighLight(Color.Green); //カスタム背景色を設定する
                }
            }
            pdf.SaveToFile("FindAndHighlight.pdf");
        }
    }
}

以上は今回のPDFテキスト検索および背景色の設定方法でした、最後まで読んでいただきありがとうございます。ではまた!

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9