##背景
PDFファイルを読んでいる時、コンテンツが多すぎて込んでいるため、閲覧したいコンテンツが簡単に見つからない場合はよくあります。こういう際は、PDF読み取りソフトの検索機能を使って、指定したテキストをすばやく見つけるのは一般的です。この記事では、C#と無料のSpire.PDFコンポーネントを使用してこの機能を実現する方法を紹介します。
まずはC#コンソールアプリケーションを作成し、NuGet Package ManagerでFree Spire.PDFを検索してインストールします、以下に示す通り:
インストールした後、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");
##完全なるコード:
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テキスト検索および背景色の設定方法でした、最後まで読んでいただきありがとうございます。ではまた!