PDF 文書では、テキストをハイライトすることで、読者に文書内の特定のコンテンツにもっと注意を向けさせることができます。キーワードや 文をハイライトすることで、読者に文書内の重要な情報を促し、読者がその情報を探してアクセスすることを容易にし、読書効率や読書体験を向上させることができるのです。この記事では、Spire.PDF for .NET を使用して、プログラムで PDF ドキュメント内の特定のテキストを検索してハイライトする方法を紹介します。
Spire.PDF for .NET をインストールします
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
指定したテキストを検索してハイライトする
PdfTextFinder.Find() メソッドで指定したテキストを検索し、PdfTextFragment.Highlight() メソッドで検索したテキストを強調表示すればいいのです。 詳しい操作手順は以下の通りです。
- PdfDocument のオブジェクトを作成します。
- PdfDocument.LoadFromFile() メソッドを使用して、PDF ドキュメントを読み込みます。
- PdfTextFindOptions のオブジェクトを作成します。
- PdfTextFindOptions.Parameter プロパティを通してテキスト検索のパラメータを設定します。
- PDF ドキュメントのページをループして、指定されたテキストを検索し、ハイライト表示します。
- PdfTextFinder のオブジェクトを作成し、PdfTextFinder.Parameter を通してテキスト検索のオプションを設定します。
- PdfTextFinder.Find() メソッドを使用して、ドキュメント内の指定されたテキストを検索し、その結果を PdfTextFragment リストに保存します。
- リストをループして PdfTextFragment.Highlight() メソッドを呼び出し、指定したテキストの出現箇所をすべてカラーで強調表示します。
- PdfDocument.SaveToFile() メソッドを使用して、ドキュメントの結果を保存します。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Collections.Generic;
using System.Drawing;
namespace HighlightTextInPdf
{
internal class Program
{
static void Main(string[] args)
{
//PdfDocumentのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//PDFドキュメントを読み込む
pdf.LoadFromFile("C:/サンプル.pdf");
//PdfTextFindOptionsのオブジェクトを作成する
PdfTextFindOptions findOptions = new PdfTextFindOptions();
//テキスト検索のパラメータを設定する
findOptions.Parameter = TextFindParameter.WholeWord;
//文書内のページをループする
foreach (PdfPageBase page in pdf.Pages)
{
//PdfTextFinderのオブジェクトを作成する
PdfTextFinder finder = new PdfTextFinder(page);
//テキスト検索のオプションを設定する
finder.Options = findOptions;
//指定したテキストを検索する
List results = finder.Find("時間を超越した宇宙");
//指定したテキストをすべて強調表示する
foreach (PdfTextFragment text in results)
{
text.HighLight(Color.GreenYellow);
}
}
//ドキュメントを保存する
pdf.SaveToFile("テキストの強調表示.pdf");
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Texts
Imports System.Drawing
Namespace HighlightTextInPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocumentのオブジェクトを作成する
Dim pdf As PdfDocument = New PdfDocument()
'PDFドキュメントを読み込む
pdf.LoadFromFile("C:/サンプル.pdf")
'PdfTextFindOptionsのオブジェクトを作成する
Dim findOptions As PdfTextFindOptions = New PdfTextFindOptions()
'テキスト検索のパラメータを設定する
findOptions.Parameter = TextFindParameter.WholeWord
'文書内のページをループする
Dim page As PdfPageBase
For Each page In pdf.Pages
'PdfTextFinderのオブジェクトを作成する
Dim finder As PdfTextFinder = New PdfTextFinder(page)
'テキスト検索のオプションを設定する
finder.Options = findOptions
'指定したテキストを検索する
Dim results As List= finder.Find("時間を超越した宇宙")
'指定したテキストをすべて強調表示する
Dim text As PdfTextFragment
For Each text In results
text.HighLight(Color.GreenYellow)
Next
Next
'ドキュメントを保存する
pdf.SaveToFile("テキストの強調表示.pdf")
End Sub
End Class
End Namespace
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。