PDF ドキュメントのページレイアウトは固定されており、ユーザーによる変更は許可されていません。PDF コンテンツを再編集するには、PDF を Word に変換するか、PDF からテキストを抽出します。この記事では、Spire.PDF for .NET を使用して、C# および VB.NET でプログラムによって特定の PDF ページからテキストを抽出する方法、特定の長方形領域からテキストを抽出する方法、および SimpleTextExtractionStrategy メソッドでテキストを抽出する方法を示します。 特定の PDF ページからテキストを抽出する 特定の長方形領域からテキストを抽出する SimpleTextExtractionStrategy メソッドでテキストを抽出する Spire.PDF for.NET をインストールします まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.PDF 特定の PDF ページからテキストを抽出する Spire.PDF for .NET が提供する PdfDocument.Pages[index] プロパティは、特定のページの取得をサポートします。次に、PdfTextExtractor.ExtractText() メソッドを使用して、特定のページからテキストを抽出します。以下に詳細な操作手順を示します。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PdfDocument.Pages[index] プロパティで特定のページを取得します。 PdfTextExtractor オブジェクトを作成します。 PdfTextExtractOptions オブジェクトを作成し、IsExtractAllText プロパティを true に設定します。 PdfTextExtractor.ExtractText() メソッドを使用して、選択したページからテキストを抽出します。 抽出したテキストを TXT ファイルに書き込みます。 C# VB.NET using System; using System.IO; using Spire.Pdf; using Spire.Pdf.Texts; namespace ExtractTextFromPage { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"sample.pdf"); //2ページ目を取得する PdfPageBase page = doc.Pages[1]; //PdfTextExtractotオブジェクトを作成する PdfTextExtractor textExtractor = new PdfTextExtractor(page); //PdfTextExtractOptionsオブジェクトを作成する PdfTextExtractOptions extractOptions = new PdfTextExtractOptions(); //isExtractAllTextをtrueに設定 extractOptions.IsExtractAllText = true; //ページからテキストを抽出する string text = textExtractor.ExtractText(extractOptions); //TXTファイルに書き込み File.WriteAllText("Extracted.txt", text); } } } Imports System Imports System.IO Imports Spire.Pdf Imports Spire.Pdf.Texts Namespace ExtractTextFromPage Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("sample.pdf") '2ページ目を取得する Dim page As PdfPageBase = doc.Pages(1) 'PdfTextExtractotオブジェクトを作成する Dim textExtractor As PdfTextExtractor = New PdfTextExtractor(page) 'PdfTextExtractOptionsオブジェクトを作成する Dim extractOptions As PdfTextExtractOptions = New PdfTextExtractOptions() 'isExtractAllTextをtrueに設定 extractOptions.IsExtractAllText = True 'ページからテキストを抽出する Dim text As String = textExtractor.ExtractText(extractOptions) 'TXTファイルに書き込み File.WriteAllText("Extracted.txt", text) End Sub End Class End Namespace 特定の長方形領域からテキストを抽出する 長方形領域からテキストを抽出するには、ExtractArea プロパティで長方形領域を指定します。次に、PdfTextExtractor.ExtractText() メソッドを使用してテキストを抽出します。以下に詳細な操作手順を示します。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PdfDocument.Pages[index] プロパティで特定のページを取得します。 PdfTextExtractor オブジェクトを作成します。 PdfTextExtractOptions オブジェクトを作成し、ExtractArea プロパティで長方形領域を指定します。 PdfTextExtractor.ExtractText() メソッドを使用して長方形領域からテキストを抽出します。 抽出したテキストを TXT ファイルに書き込みます。 C# VB.NET using Spire.Pdf; using Spire.Pdf.Texts; using System.IO; using System.Drawing; namespace ExtractTextFromRectangleArea { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"sample.pdf"); //2ページ目を取得する PdfPageBase page = doc.Pages[1]; //PdfTextExtractorオブジェクトを作成する PdfTextExtractor textExtractor = new PdfTextExtractor(page); //PdfTextExtractOptionsオブジェクトを作成する PdfTextExtractOptions extractOptions = new PdfTextExtractOptions(); //長方形領域を指定する extractOptions.ExtractArea = new RectangleF(0, 0, 890, 190); //長方形からテキストを抽出する string text = textExtractor.ExtractText(extractOptions); //TXTファイルに書き込み File.WriteAllText("Extracted.txt", text); } } } Imports Spire.Pdf Imports Spire.Pdf.Texts Imports System.IO Imports System.Drawing Namespace ExtractTextFromRectangleArea Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("sample.pdf") '2ページ目を取得する Dim page As PdfPageBase = doc.Pages(1) 'PdfTextExtractorオブジェクトを作成する Dim textExtractor As PdfTextExtractor = New PdfTextExtractor(page) 'PdfTextExtractOptionsオブジェクトを作成する Dim extractOptions As PdfTextExtractOptions = New PdfTextExtractOptions() '長方形領域を指定する extractOptions.ExtractArea = New RectangleF(0, 0, 890, 190); '長方形からテキストを抽出する Dim text As String = textExtractor.ExtractText(extractOptions) 'TXTファイルに書き込み File.WriteAllText("Extracted.txt", text) End Sub End Class End Namespace SimpleTextExtractionStrategy メソッドでテキストを抽出する 以上の方法は、行ごとにテキストを抽出するのに適しています。SimpleTextExtractionStrategy メソッドを使用してテキストを抽出すると、各文字列の Y 位置を追跡し、Y 位置が変化したときに出力に改行文字を挿入することができます。以下に詳細な手順を示します。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用してPDFファイルをロードします。 PdfDocument.Pages[index] プロパティで特定のページを取得します。 PdfTextExtractor オブジェクトを作成します。 PdfTextExtractOptions オブジェクトを作成し、IsSimpleExtraction プロパティを true に設定します。 PdfTextExtractor.ExtractText() メソッドを使用して、選択したページからテキストを抽出します。 抽出したテキストを TXT ファイルに書き込みます。 C# VB.NET using System.IO; using Spire.Pdf; using Spire.Pdf.Texts; namespace SimpleExtraction { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"sample.pdf"); //最初のページを取得する PdfPageBase page = doc.Pages[0]; //PdfTextExtractorオブジェクトを作成する PdfTextExtractor textExtractor = new PdfTextExtractor(page); //PdfTextExtractOptionsオブジェクトを作成する PdfTextExtractOptions extractOptions = new PdfTextExtractOptions(); //IsSimpleExtractionをtrueに設定する extractOptions.IsSimpleExtraction = true; //選択したページからテキストを抽出する string text = textExtractor.ExtractText(extractOptions); //TXTファイルへの書き込み File.WriteAllText("Extracted.txt", text); } } } Imports System.IO Imports Spire.Pdf Imports Spire.Pdf.Texts Namespace SimpleExtraction Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("sample.pdf"); '最初のページを取得する Dim page As PdfPageBase = doc.Pages(0) 'PdfTextExtractorオブジェクトを作成する Dim textExtractor As PdfTextExtractor = New PdfTextExtractor(page) 'PdfTextExtractOptionsオブジェクトを作成する Dim extractOptions As PdfTextExtractOptions = New PdfTextExtractOptions() 'IsSimpleExtractionをtrueに設定する extractOptions.IsSimpleExtraction = True '選択したページからテキストを抽出する Dim text As String = textExtractor.ExtractText(extractOptions) 'TXTファイルへの書き込み File.WriteAllText("Extracted.txt", text) End Sub End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。