チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.PDF for .NET»エキス/読み取り»C#/VB.NET:PDF ドキュメントからテキストを抽出する方法
2022-11-22

C#/VB.NET:PDF ドキュメントからテキストを抽出する方法

PDF ドキュメントのページレイアウトは固定されており、ユーザーによる変更は許可されていません。PDF コンテンツを再編集するには、PDF を Word に変換するか、PDF からテキストを抽出します。この記事では、Spire.PDF for .NET を使用して、C# および VB.NET でプログラムによって特定の 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

C#/VB.NET:PDF ドキュメントからテキストを抽出する方法

特定の長方形領域からテキストを抽出する

長方形領域からテキストを抽出するには、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

C#/VB.NET:PDF ドキュメントからテキストを抽出する方法

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

C#/VB.NET:PDF ドキュメントからテキストを抽出する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 4244 times