ASPOSE.OCRで複数ページのPDFからデータ抽出を自動化する方法
ASPOSE.OCRで複数ページのPDFからデータ抽出を自動化する方法
スキャナー、アーカイブ、または企業のワークフローからの複数のページのPDFは、しばしぶ検索できないテキストやテーブルの膨大な量を保持します. 手動抽出は遅く、スケールされません. .NET のための Aspose.OCR は長い複雑な PDF から、短いコードを持つテクスト、タブレット、および構造を自動化します。
現実世界問題
法律、財務、学術のアーカイブは、数百ページを含む複数のページでスキャンされたPDFを定期的に処理します。
ソリューション概要
Aspose.OCR for .NET は、各ページからテキスト/テーブルを複数ページの PDF でバッチプロセスと抽出することができます. ページランキング、エクスポートフォーマット、およびビジネスアプリケーションやデジタルアーカイブとの自動統合を指定できます。
原則
- Visual Studio 2019 以降
- .NET 6.0 またはそれ以降(または .Net Framework 4.6.2+)
- ASPOSE.OCR for .NET から NuGet
- C#プログラミングスキル
PM> Install-Package Aspose.OCR
ステップ・ステップ・実施
ステップ1:インストールおよび設定 Aspose.OCR
using Aspose.OCR;
ステップ2:複数ページのPDFファイルを追加する
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf"); // all pages
input.Add("report.pdf", 5, 10); // pages 5-14
ステップ3:認識設定とページランキングを設定する
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
ステップ4:各ページからテキストとテーブルを抽出する
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
ステップ5:各ページの輸出結果
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
ステップ6:エラーの処理とデータの有効化
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
ステップ7:大ファイルとバッチワークのための最適化
- ディレクトリによるフォルダーでPDFを処理する
- スピードのための選択的なページ処理を使用する
- メモリ/CPU 使用モニター
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
input.Add(file);
}
ステップ8:完璧な例
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf");
input.Add("report.pdf", 5, 10);
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
ケースとアプリケーションの使用
法的および遵守アーカイブ
契約、裁判所の請求書、または政府の記録の完全なコンテンツを検索および遵守のために抽出します。
学術・研究アーカイブ
分析や電子学習のための雑誌、論文、またはデータテーブルをデジタル化および分割します。
財務・監査の流れ
大声のアーカイブ、レポート、スプレッドシートから自動抽出。
共通の課題と解決策
課題1:不一致なページランキング
ソリューション: AUTO 検出を使用するか、ページ範囲ごとに異なるモードを設定します。
チャレンジ2:非常に大きなPDF
ソリューション: バッチでのプロセス; より良いメモリパフォーマンスのための分割ファイル。
チャレンジ3:混合コンテンツ(テキスト、テーブル、画像)
ソリューション: 認証およびプロセス後の出力; トーン検出モード。
パフォーマンス考慮
- 大型PDFにはより多くのメモリ/CPUが必要です。
- ベストパフォーマンスのためのバッチオフタイムワーク
- 統合前に出力サンプルを確認する
ベストプラクティス
- 簡単な追跡のための名称コンベンションを使用する
- 複数ページのPDFを分割する場合、ファイルが非常に大きい場合
- 情報源と出力文書の両方を確保する
- 重要な作業流における認証およびスポットチェック出力
高度なシナリオ
シナリオ1:ページごとに検索可能なPDFへの輸出
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.pdf", SaveFormat.Pdf);
page++;
}
シナリオ2:データベースまたはクラウドに統合
foreach (RecognitionResult result in results)
{
string json = File.ReadAllText($"output_page_{page}.json");
// Upload json or send to a cloud endpoint
}
結論
Aspose.OCR for .NET は、複数のページの PDF から強力でスケール可能なテキスト抽出と構造化されたデータを可能にします - 手動の努力の時間を節約し、ワークフローの自動化を改善します。
PDFとバッチ処理の例をもっと見る ASPOSE.OCR for .NET API リファレンス .