IRONSOFTWAREHOME
他のコンポーネントと比較する

iOS OCRライブラリ(無料および有料ツールの比較)

Kannaopat Udonpant
Kannapat Udonpant
Updated: 2026年6月28日

PaddleSharp (Sdcb.PaddleOCR) は、コードが実際に実行する OCR エンジンから 3 つの抽象化レイヤー離れた場所にあります。Baidu がニューラルネットワークモデルをトレーニングし、RapidOCR がそれを軽量な推論用に再パッケージ化し、PaddleSharp がそれを.NETで使用できるようにラップします。 各レイヤーごとにメンテナンス上の依存関係が追加され、CJK以外の言語が必要になったり、入力としてPDFが必要になったり、CUDAなしで本番環境に展開する必要が生じた瞬間に、このチェーンの限界が明らかになる。 この比較では、そのアーキテクチャがどのような点でメリットをもたらし、どのような点で.NETチームが事前にほとんど想定していないコストを発生させるのかを検証します。

PaddleSharp OCRについて理解する

PaddleSharp は、Baidu の PaddleOCR ディープラーニングフレームワークを .NET でラップしたもので、NuGet 上で Sdcb.PaddleOCR として公開されています。 PaddleOCRは、従来のOCRアルゴリズムを使用する代わりに、3段階のニューラルネットワークパイプラインを採用しています。検出モデルが画像内のテキスト領域を特定し、分類モデルがテキストの向きを判定し、認識モデルが各領域をテキストに変換します。 各ステージはそれぞれ独立したモデルファイルであり、ダウンロードして個別に設定する必要があります。

このラッパーは、Pythonを必要とせずに.NETでPaddlePaddleの推論機能を実現するために構築されました。 その目標は技術的には達成されているが、その代償として、OpenCvSharp画像処理ライブラリ(それ自体がプラットフォーム固有のランタイムパッケージを必要とする)、PaddleInferenceネイティブランタイム、およびモデルファイル自体を含む依存関係のスタックが発生する。 Windowsでは、文字を1文字でも認識できるようになるまでに、最低でも4つのNuGetパッケージをインストールする必要があります。

PaddleSharpの主な建築上の特徴:

-ラッパーの階層: 3層 — PaddlePaddle (Baidu) → PaddleOCR モデル → Sdcb.PaddleSharp .NETバインディング -**モデル管理:**検出、分類、認識モデルはそれぞれ別々にダウンロードされます (中国語版 V3 セットの場合、それぞれ約 3MB、約 2MB、約 10MB)。 パスとバージョンを手動で管理する

  • OpenCV 依存: 画像読み込みには OpenCvSharp4 が必要です。 プラットフォームを切り替えるには、OpenCvSharp4.runtime.* パッケージを交換する必要があります -**言語の重点:**主な強みは中国語と英語です。 その他の言語のサポートは、PaddleOCRのモデルパックが利用可能で維持されているものに限られます。
  • GPU アクセラレーション: Sdcb.PaddleInference.runtime.win64.cuda パッケージを介したネイティブ CUDA サポート。これには、互換性のある CUDA ツールキットと cuDNN のインストールがホスト上で必要です
  • CPUパフォーマンスの低下: GPUがない場合、推論はCPU最適化された代替手段よりも遅くなります。最適化された非ディープラーニングエンジンでは100~400msであるのに対し、GPUでは画像1枚あたり500~1500msかかります。 -**コミュニティの規模:**小規模な英語圏コミュニティ。 ほとんどのドキュメント、Stack Overflowの回答、 GitHubのイシューは中国語です。

3段階推論セットアップ

PaddleSharpを単純なテキスト抽出タスク用にセットアップするには、3つのモデルステージすべてを接続する必要があります。

// Simplified — see Sdcb.PaddleOCR documentation for full API
using Sdcb.PaddleOCR;
using Sdcb.PaddleOCR.Models;
using OpenCvSharp;

public class PaddleOcrService
{
    private readonly PaddleOcrAll _ocr;

    public PaddleOcrService()
    {
        // Three separate models, each downloaded independently
        var detModel = LocalFullModels.ChineseV3.DetectionModel;
        var clsModel = LocalFullModels.ChineseV3.ClassifierModel;
        var recModel = LocalFullModels.ChineseV3.RecognitionModel;

        // GPU config: set GpuDeviceId = 0 and install CUDA runtime packages
        _ocr = new PaddleOcrAll(detModel, clsModel, recModel);
    }

    public string ExtractText(string imagePath)
    {
        // OpenCV required for image loading — not System.Drawing
        using var image = Cv2.ImRead(imagePath);
        var result = _ocr.Run(image);

        // Manual sort by position; no automatic reading-order guarantee
        return string.Join("\n", result.Regions
            .OrderBy(r => r.Rect.Center.Y)
            .ThenBy(r => r.Rect.Center.X)
            .Select(r => r.Text));
    }
}

コンストラクタだけで実際の処理を行います: モデルのバイナリをディスクから読み込み、推論エンジンを初期化します。その初期化コストは PaddleOcrAll インスタンスごとに一度だけ支払われるため、オブジェクトの作成には高コストがかかり、サービス指向の .NET アプリケーションではライフサイクル管理が慎重に行われる必要があります。

IronOCRを理解する

IronOCRは、最適化されたTesseract 5エンジンをベースに、自動前処理パイプラインをレイヤー化した.NET向け商用OCRライブラリです。外部モデルファイル、ネイティブバイナリ構成、二次的な画像処理ライブラリへの依存関係を一切必要とせず、単一のNuGetパッケージとしてインストールできます。 設計目標は、"インストール"と"正確なテキスト出力"の間のギャップを解消することです。このギャップは、他のほとんど for .NET OCRオプションに共通する特徴です。

IronOCRの主な特徴:

  • 単一パッケージ展開: dotnet add package IronOcr — モデルダウンロードなし、tessdata フォルダなし、OpenCV なし -**自動前処理:**入力画像に対して、傾き補正、ノイズ除去、コントラスト強調、二値化、解像度正規化が自動的に行われます。 必要に応じて、明示的な前処理フィルタを使用できます。 -**ネイティブPDFサポート:**スキャンされたPDFとテキストレイヤー付きPDFの両方を直接受け入れます。 パスワードで保護されたPDFには1つのパラメータが必要です
  • 125+ 言語: 個別の NuGet 言語パックとして提供されます(例:IronOcr.Languages.ChineseSimplified)。他のパッケージ依存と同じ方法で管理されます -**構造化された出力:**結果には、ページ、段落、行、単語、および個々の文字の境界ボックスと信頼度スコアが表示されます。
  • スレッドセーフ: 複数の IronTesseract インスタンスが共有状態なしで並行して実行されます。 バッチワークロードを並列化するには Parallel.ForEach 呼び出しです
  • 価格: $999 永続ライセンス (Lite, 1 開発者), $1,499 (Plus, 3 開発者), $2,399 (Professional, 10 開発者), $4,799 (Unlimited)

機能比較

フィーチャーPaddleSharp OCRIronOCR
必要なNuGetパッケージ最低3~4人1
モデル管理マニュアル(3つの別々のファイル)None
PDF入力いいえ(変換が必要です)ネイティブ
言語数約10~20125+
GPUアクセラレーションはい(CUDA)CPU最適化済み
前処理マニュアル(OpenCV)自動翻訳
価格について無料(Apache 2.0)$4,799 永続ライセンス

詳細な機能比較

フィーチャーPaddleSharp OCRIronOCR
セットアップと展開
必要なNuGetパッケージ3~41
モデルファイルのダウンロードはい(3ファイル、合計約15MB)なし
OpenCVの依存関係必須None
GPU向けCUDA/cuDNNGPUモードに必要該当なし
Dockerデプロイメント複雑な(ネイティブランタイム)単層追加
エアギャップ展開はい(モデルのダウンロード後)はい
テキスト認識
中国語/日本語/韓国語の正確性高(主な焦点)高い
ラテン文字の正確性適度高い
手書き制限的サポート対象
低品質スキャン処理手動による前処理が必要自動翻訳
自動傾き補正なしはい
自動ノイズ除去なしはい
入力ソース
画像ファイルはい(OpenCV経由)はい
PDFファイル(ネイティブ形式)なしはい
パスワードで保護されたPDFなしはい
ストリームとバイト配列OpenCV経由はい
複数ページTIFFOpenCV経由はい
出力
プレーンテキストはいはい
検索可能なPDFなしはい
hOCRなしはい
単語レベルの境界ボックスはいはい
信頼度スコアはいはい
構造化されたページ/行/単語階層一部地域のみフル
言語サポート
言語数約10~20125+
言語のインストール方法モデルパックのダウンロードNuGetパッケージ
多言語文書制限的はい
カスタム言語トレーニングはい(パドルパドル)はい
プラットフォームサポート
ウィンドウズはいはい
Linuxはい(複雑な設定)はい
macOS制限的はい
Dockerはい(ネイティブランタイムの場合)はい
AWSラムダ複雑はい
パフォーマンス
CPUシングルイメージ500~1500ms100~400ms
GPUシングルイメージ100~300ms該当なし
メモリ(CPUモード)より高い適度
OCR中のバーコード読み取りなしはい
商業化への準備
商用ライセンスアパッチ2.0開発者ごとに永久
サポートチャンネルGitHub の問題メールサポート
英語のドキュメントスパース豊富なドキュメント、チュートリアル、ハウツーガイド
生産事例研究まれ(.NET固有)文書化済み

抽象化の深さと保守リスク

PaddleSharpは、このカテゴリにおいて、前提条件として3つの独立したアップストリームプロジェクトを実行する唯一 for .NET OCRオプションです。 その深さこそが、制作チームにとって最大のリスクとなる。

パドルシャープアプローチ

実際の依存関係チェーンは次のようになります。

  1. Baidu PaddlePaddle — 基盤となる深層学習フレームワーク。 モデル形式と推論APIはここで定義されています。
  2. PaddleOCR — Baiduのモデルトレーニングプロジェクトで、検出、分類、認識モデルの重みを生成します。
  3. Sdcb.PaddleSharp — PaddleInferenceネイティブライブラリを呼び出し、モデル読み込みAPIをラップする.NETバインディングレイヤー。

各レイヤーには、独自のリリースサイクル、互換性のない変更履歴、およびコミュニティがあります。 BaiduがPaddlePaddleの推論APIを更新すると、バインディングレイヤーもそれに合わせて更新する必要があります。PaddleOCRのバージョン間でモデル形式が変更された場合、PaddleSharp内のモデルのダウンロードパスと読み込みコードを更新する必要があります。 .NETチームにとって、これらはデプロイメントが失敗するまで目に見えないものです。

初期化コストの簡略化された図解:

// Simplified — see Sdcb.PaddleOCR documentation for full API
// This is not one line of setup; it represents several coordinated decisions:
// - Which model version to use (ChineseV3, V4, etc.)
// - Whether models are local files or downloaded on first use
// - Which inference backend (CPU, MKL, GPU)
// - Which OpenCvSharp runtime package matches the deployment OS

var detModel = LocalFullModels.ChineseV3.DetectionModel;  // Version-specific
var clsModel = LocalFullModels.ChineseV3.ClassifierModel; // Version-specific
var recModel = LocalFullModels.ChineseV3.RecognitionModel; // Version-specific

var ocr = new PaddleOcrAll(detModel, clsModel, recModel);
// If a newer model format is released, these names and classes may change

ここではバージョンによる違いが非常に重要になる。 Sdcb.PaddleOCR のバージョン2.xに固定されているチームが、新しいモデルにアクセスするためにアップグレードするには、バインディング層でAPIの変更に直面します。 上流のモデルファイルは、PaddleOCRの主要リリース間で下位互換性がありません。

IronOCRのアプローチ

IronOCRは、エンジンとすべての依存関係をNuGetパッケージ内にバンドルして提供します。 選択するモデルバージョンはなく、設定する推論バックエンドもなく、同期を維持する二次ライブラリもありません。

// One package: dotnet add package IronOcr
// なし model downloads. なし OpenCV. なし runtime packages.
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

var result = new IronTesseract().Read("document.jpg");
Console.WriteLine(result.Text);
Console.WriteLine($"Confidence: {result.Confidence}%");
C#

IronOCRのアップグレードは、 NuGetパッケージのバージョンアップ1回で済みます。APIの変更点はリリースノートに記載されており、メジャーバージョン間の下位互換性は維持されています。 CI/CDパイプラインで作業するチームにとって、デプロイ対象領域の違いは大きい。1つのパッケージで済む場合と、4つのパッケージにPlusプラットフォーム固有のランタイムパッケージと、ディスク上の適切なパスに存在しなければならないモデルファイルが必要になる場合との違いだ。

設定オプションについてはIronTesseractのセットアップガイドを、対応している入力ソースの完全なリストについては画像入力方法ガイドを参照してください。

対応言語

PaddleOCRは主に中国語向けに訓練されており、英語は第二言語として扱われています。 PaddleSharp を取り巻く.NETコミュニティは、その起源を反映しています。中国語(簡体字、繁体字)、英語、その他いくつかの言語のモデル パックは存在しますが、約 10 ~ 20 言語を超える範囲は限られており、CJK 以外のモデルのメンテナンスは、上流プロジェクトが関心を持ち続けるかどうかにかかっています。

パドルシャープアプローチ

PaddleSharpで言語を切り替えるということは、モデルセットを切り替えることを意味します。 認識モデルは言語固有のものであり、単純なAPIフラグはありません。異なるモデルオブジェクトのセットをインスタンス化する必要があります。

// Simplified — see Sdcb.PaddleOCR documentation for full API
// English model set (if available for your version)
// var recModel = LocalFullModels.EnglishV3.RecognitionModel;

// Chinese model set (primary supported use case)
var detModel = LocalFullModels.ChineseV3.DetectionModel;
var recModel = LocalFullModels.ChineseV3.RecognitionModel;
var clsModel = LocalFullModels.ChineseV3.ClassifierModel;

var ocr = new PaddleOcrAll(detModel, clsModel, recModel);
// Non-CJK languages require checking upstream PaddleOCR model availability
// Mixed CJK + Latin in the same document may require model selection decisions

フランス語の請求書、ドイツ語の契約書、アラビア語の書式などを処理するチームにとって、問題は単にモデルパックが現在存在するかどうかではなく、来年もそれが維持されるかどうか、そしてそれを設定するための英語のドキュメントが存在するかどうかである。

IronOCRのアプローチ

IronOCRは、125以上の言語をNuGetパッケージとして提供しています。 各言語パックは他の依存関係とまったく同じようにインストールされ、手動でのファイルデプロイなしに標準的なCI/CDパイプラインと統合されます。

// dotnet add package IronOcr.Languages.ChineseSimplified
// dotnet add package IronOcr.Languages.French
// dotnet add package IronOcr.Languages.Arabic

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;
ocr.AddSecondaryLanguage(OcrLanguage.English); // Mixed-language document

var result = ocr.Read("mixed-document.jpg");

多言語ガイド では、スクリプトを混在させたドキュメントに対する複数言語の同時認識をカバーしており、モデルレベルでの決定は必要なく、ただの AddSecondaryLanguage 呼び出しだけです。

複数の言語で文書を扱うチーム、あるいは言語要件が当初の範囲を超えて拡大することが予想されるチームにとって、メンテナンス体制が変動する10~20言語セットよりも、メンテナンスされたNuGetパッケージに支えられた125言語カタログの方が、より耐久性のある選択肢となります。

前処理とPDFサポート

PaddleOCRのニューラルネットワークパイプラインは、CJKテキストに関しては従来のOCRよりも画像品質のばらつきにうまく対応できますが、傾き補正、ノイズ除去、解像度正規化などのタスクのための組み込み画像前処理APIは提供していません。 前処理はすべてOpenCVで記述する必要がある。OpenCVはPaddleSharpが既に必要としているライブラリだが、画像処理の専門家ではないチームにとっては、コードを書く機会が大幅に増えることになる。

PDFへの対応は、より難しい課題です。PaddleSharpにはネイティブのPDFリーダーがありません。 PDFファイルを受け取るドキュメントパイプラインでは、OCRエンジンを呼び出す前に各ページを画像に変換する必要があります。そのためには、別途PDFライブラリが必要となり、依存関係が増え、中間ファイル管理が発生します。

パドルシャープアプローチ

// Simplified — see Sdcb.PaddleOCR documentation for full API
// PaddleSharp has no PDF support — pages must be pre-converted to images
// Preprocessing (deskew, denoise) requires OpenCV operations:

using OpenCvSharp;

// Load image via OpenCV
using var image = Cv2.ImRead("scan.jpg");

// Manual grayscale conversion
using var gray = new Mat();
Cv2.CvtColor(image, gray, ColorConversionCodes.BGR2GRAY);

// Manual threshold (binarization)
using var binary = new Mat();
Cv2.Threshold(gray, binary, 128, 255, ThresholdTypes.Binary);

// Then pass to OCR engine
var result = _ocr.Run(binary);
// Each preprocessing step requires OpenCV knowledge
// PDF pages require a separate PDF-to-image conversion step first

この前処理を記述することは、OpenCVの経験を持つチームであれば可能です。 OpenCVを導入していないチームにとって、学習曲線は決して容易ではない。OpenCVは幅広いAPIを備えており、ドキュメントは主にC++を前提としているからだ。

IronOCRのアプローチ

IronOCRの前処理パイプラインは、外部ライブラリを必要としません。 画像を受け付けるのと同様に、同じ OcrInput オブジェクトがPDFも受け付け、前処理フィルタは単一のメソッド呼び出しです:

using var input = new OcrInput();
input.LoadImage("low-quality-scan.jpg");

// Built-in preprocessing — no OpenCV, no manual image math
input.Deskew();
input.DeNoise();
input.Contrast();
input.Binarize();
input.EnhanceResolution(300);

var result = new IronTesseract().Read(input);
Console.WriteLine(result.Text);

PDF入力の場合、ネイティブサポートとは変換ステップが不要であることを意味します。

// PDF input — no external library, no page conversion
var result = new IronTesseract().Read("scanned-document.pdf");

// Password-protected PDFs
using var input = new OcrInput();
input.LoadPdf("encrypted.pdf", Password: "secret");
var result = new IronTesseract().Read(input);

// Output as searchable PDF
result.SaveAsSearchablePdf("searchable-output.pdf");

画像品質補正ガイドでは、利用可能なすべてのフィルターを例を交えて解説しています。 PDF入力の手順では、ページ選択、ストリーム入力、パスワード処理について説明します。 スキャンした文書から検索可能なPDFを作成するチームにとって、検索可能なPDF出力は組み込みの出力形式であり、別途処理手順として行う必要はありません。

APIマッピングリファレンス

PaddleSharp OCRコンセプトIronOCR相当値
Sdcb.PaddleOCR (namespace)IronOcr (namespace)
PaddleOcrAllIronTesseract
LocalFullModels.ChineseV3.DetectionModel同等のものは存在しないため、モデル選択は不要です。
LocalFullModels.ChineseV3.RecognitionModel同等のものは存在しないため、モデル選択は不要です。
LocalFullModels.ChineseV3.ClassifierModel同等のものは存在しないため、モデル選択は不要です。
Cv2.ImRead(path) (OpenCV 画像読み込み)input.LoadImage(path)
_ocr.Run(matImage)ocr.Read(input) または ocr.Read("file.jpg")
result.Regionsresult.Words, result.Lines, result.Pages
region.Textword.Text, line.Text, page.Text
region.Rect.Centerword.X, word.Y
言語モデルの切り替え(新しいモデルセット)ocr.Language = OcrLanguage.French
PaddleConfig (推論バックエンド設定)同等のものはありません — 自動設定
OpenCvSharpのしきい値処理/グレースケール操作input.Binarize(), input.ToGrayScale()
PDFはサポートされていません - 画像に事前変換してくださいinput.LoadPdf("file.pdf")
検索可能なPDF出力はありませんresult.SaveAsSearchablePdf("output.pdf")

チームがPaddleSharp OCRからIronOCRへの移行を検討する場合

パイプラインはCJK以外の文書を処理します

PaddleSharpは中国人向けに作られた。 その伝統は、モデル命名規則(中国語V3)、主要なドキュメント言語、および言語パックの提供状況に表れています。 中国語の文書処理から始めて、フランス語の請求書やドイツ語の契約書へと業務を拡大しようとするチームは、大きな壁にぶつかる。CJK以外の言語に対応したモデルパックは少なく、CJK以外のモデルのメンテナンス体制は不確実であり、それらの設定に関する英語のドキュメントも乏しいからだ。 IronOCRのNuGet経由の125以上の言語カタログにより、言語拡張は研究プロジェクトではなく、パッケージのインストールで済む。

デプロイメント環境にはGPUがありません

PaddleOCRのディープラーニングパイプラインは、GPU推論向けに設計されています。 CPU処理に関しては、パフォーマンスの数値は正確です。一般的な文書解像度では、画像1枚あたり500~1500ミリ秒です。 数千ものドキュメントを処理するバッチパイプラインや、同時実行されるOCRリクエストを処理するASP.NETアプリケーションの場合、CPUモードのPaddleSharpは、規模が大きくなるにつれて累積するレイテンシを増加させます。 IronOCRの最適化されたTesseract 5エンジンは、GPUを必要とせず、CPU上で画像1枚あたり100~400ミリ秒で動作します。 標準のVMティア、GPUパススルーのないコンテナ、またはCIワーカーへのデプロイメントの場合、その違いは、ワークロードが適合するかしないかの違いになります。

PDF文書は入力パイプラインにあります

PDFはビジネス文書の記録形式として広く用いられています。 PaddleSharpにはPDFリーダーがありません。 PaddleSharpをベースに開発を進めた後でこの制限に気づいたチームは、次の選択肢に直面します。PDFライブラリを追加する(ライセンスやバージョン管理など、さらに別の依存関係を管理することになる)、前処理ステップとしてPDFを画像に変換する(ストレージとI/Oのオーバーヘッドが増加する)、またはネイティブのPDFサポートを備えたライブラリに移行する。 IronOCRは、パスワードで保護されたPDFやページ範囲選択など、PDF入力にネイティブに対応しているため、PDFから始まるドキュメントワークフローにとって最適な選択肢となります。

依存関係チェーンがセキュリティまたはコンプライアンスレビューに合格しない

医療、金融、政府機関などのEnterpriseソフトウェア導入では、多くの場合、ソフトウェアの構成部品表と依存関係の監査が必要となる。 PaddleSharpのチェーンには、Baidu由来のモデルファイルとBaiduの深層学習推論ランタイムが含まれています。ソフトウェアコンポーネントの提供元を特定のものに限定するポリシーを持つ組織、またはベンダーのセキュリティ開示への明確な道筋を必要とするチームにとって、Baidu由来のバイナリへの依存は追加のレビュー手順を必要とします。 IronOCRは、欧米のソフトウェアベンダーが提供する単一の商用製品であり、ライセンス条項が文書化されており、標準的な商用サポート契約が付帯しています。

チームは運営費を賄うだけの人員を確保できない

PaddleSharpのデプロイメントを18か月以上維持するには、モデルバージョンの互換性を追跡し、OpenCVランタイムパッケージのバージョンをプラットフォーム固有のデプロイメントと調整し、GPUを使用している場合はCUDAツールキットのバージョンを一致させ、破壊的変更がないか上流のGitHubイシュー(主に中国語)を監視する必要があります。 それは決して軽視できない運用投資である。 コアコンピタンスがディープラーニングのインフラストラクチャではなく、構築するアプリケーションであるチームにとって、PaddleSharpの管理にかかるオーバーヘッドは、そのコストに見合う価値を生み出しません。

一般的な移行の考慮事項

OpenCVへの依存関係を削除する

PaddleSharp には、OpenCvSharp4 と画像読み込み用のプラットフォーム特定の OpenCvSharp4.runtime.* パッケージが必要です。 IronOCR は System.Drawing.Bitmap、ファイルパス、ストリーム、およびバイト配列を OcrInput 経由で直接受け入れます。 移行とは、Cv2.ImRead() 呼び出しを input.LoadImage() に置き換え、OpenCvSharp パッケージの参照を完全に削除することを意味します:

// PaddleSharp pattern — requires OpenCV
using var image = Cv2.ImRead(imagePath);
var result = _ocr.Run(image);

// IronOCR equivalent — no OpenCV
var result = new IronTesseract().Read(imagePath);

画像入力ガイドでは、ストリーム、URL、メモリ内ビットマップなど、受け入れられるすべての入力タイプについて説明しています。

地域レベルの結果マッピング

PaddleSharp は result.Regions を返します — 検出されたテキスト領域の境界ボックスとテキスト文字列を持つフラットリストです。 IronOCRはより詳細な階層構造を返します。ページには段落が含まれ、段落には行が含まれ、行には単語が含まれ、それぞれに座標と要素ごとの信頼度スコアが付与されます。 もしあなたの移行コードが result.Regions を使用している場合、位置データ付きのフラットワード列挙のための IronOCR の同等物は次のとおりです:

var result = new IronTesseract().Read("document.jpg");

// Per-word with position — equivalent to PaddleSharp region enumeration
foreach (var word in result.Words)
{
    Console.WriteLine($"'{word.Text}' at ({word.X},{word.Y}) confidence:{word.Confidence}%");
}

結果の読み取りガイドには、結果の完全な構造が記載されています。 信頼度スコアガイドでは、要素ごとの信頼度値と、それらを品質フィルタリングにどのように使用するかについて説明しています。

OCRエンジンのライフサイクル管理

PaddleSharp の PaddleOcrAll は構築が高コストです — 作成時にディスクからモデルバイナリをロードし、ASP.NET Core ではシングルトンまたはスコープサービスとして扱われるべきです。 IronOCR の IronTesseract は初期化コストが軽いですが、同じ原則が適用されます: ウェブアプリケーションでリクエスト間でインスタンスを再利用することは、リクエストごとに構築するよりも効率的です。両方のケースで、シングルトンまたはリクエストごとのスコープサービスとしての依存性注入が正しいパターンです。

言語パックのインストール

PaddleSharpの言語サポートとは、構築時に異なるモデルセットを選択することを意味します。IronOCRIronOCR、言語サポートはプロジェクトに追加されるNuGetパッケージと、1行の構成呼び出しによって実現されます。

// dotnet add package IronOcr.Languages.ChineseSimplified

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;
var result = ocr.Read("document.jpg");

PaddleSharpから移行するCJKチーム向けには、中国語簡体字、中国語繁体字、日本語、韓国語がIronOCR言語パックとして利用可能です。 カスタム言語ガイドでは、特殊なユースケース向けにカスタムトレーニングされたtessdataを取り込む方法について説明しています。

IronOCRの追加機能

上記で比較した機能以外にも、 IronOCRはPaddleSharpの範囲を完全に超える機能を提供しています。

  • 領域ベースの OCR: ページ全体を処理することなく、画像の特定ゾーン — ヘッダ行、請求書合計、特定のフォームフィールド — を CropRectangle を使用してターゲットとします -**非同期OCRスレッドをブロックすることなく、OCRをASP.NET Coreリクエストパイプラインに統合するための組み込み非同期サポート -パスポートとIDの読み取り旅行書類と身分証明書から機械可読ゾーンデータを構造的に抽出する -表の読み取り単語座標の空間的グループ化により、表形式の文書レイアウトから行列構造を再構築する -ライセンス:**開発者ごとに永続ライセンスが付与され、ランタイムロイヤリティは発生せず、試用モードでは開発段階での使用は無料です。

.NETの互換性と将来の準備

IronOCRは.NET 8および.NET 9を対象とし、x64およびx86アーキテクチャにおけるWindows、Linux、macOSを完全にサポートし、コンテナ化されたワークロード向けのDockerデプロイメントガイドを公開しています。 PaddleSharpは最新 for .NETランタイムをサポートしていますが、クロスプラットフォーム対応はOpenCVランタイムパッケージによって複雑になっています。OpenCVランタイムパッケージはプラットフォーム固有のNuGetパッケージとして個別に配布されているため、環境ごとに適切なパッケージを選択してデプロイする必要があります。 IronOCRのシングルパッケージ展開モデルは、このようなプラットフォームマトリックスを完全に排除し、 LinuxAWSAzureの展開ガイドは、テスト済みの本番環境向け構成を反映しています。

結論

PaddleSharpは、ある特定のシナリオにおいて説得力のある主張を展開します。それは、CUDA対応GPUを搭載したハードウェア上で主に中国語の文書を処理するチームの場合で、CJKテキストに対するディープラーニングの精度上限が、導入の容易さよりも重要となる場合です。 それは現実的なユースケースであり、その中でPaddleSharpは期待に応えてくれる。 この3段階のニューラルネットワークパイプラインは、高度なディープラーニングへの投資を反映した精度で、密度の高い中国語テキストを認識する。

そのシナリオ以外では、抽象化の深さはむしろマイナス要因となる。 上流の依存関係にある3つのライブラリ(Baiduの推論フレームワーク、PaddleOCRモデルトレーニングプロジェクト、PaddleSharp .NETバインディングレイヤー)はそれぞれ独自のリリースサイクルを持っており、それらのメンテナンスの整合性は保証されていません。 英語のドキュメントは乏しい。 CJK以外の言語カタログは内容が乏しく、維持管理も一貫していない。 PDF入力には別途ライブラリが必要です。 GPUを使用しない場合、画像ごとのCPUレイテンシは500~1500msで、IronOCRの100~400msと比べて大幅に長くなります。

IronOCR のトレードオフは逆です: 単一の商用パッケージで、$999 のエントリ価格、モデル管理なし、ネイティブのPDFおよびマルチフォーマット入力、NuGet パッケージとしての125以上の言語、および OpenCV を不要とする組み込みの前処理があります。抽象化は設計上のもので、抽象化は安定しています — アプリケーションを稼働させ続けるために、チームが上流の Baidu モデルフォーマットの変更を追うことを要求していません。

汎用的な英語または多言語OCRのニーズ、PDFワークフロー、あるいはGPUハードウェアの使用が制限されるような導入上の制約があるチームにとって、 IronOCRは最適な選択肢です。IronOCRのドキュメントには、入力タイプ、前処理オプション、出力フォーマットの全範囲が網羅されており、チュートリアルハブには、請求書からパスポート、スキャンされたアーカイブまで、一般的なドキュメントタイプに対応した動作コードが用意されています。

ご注意: PaddleOCR、RapidOCR、およびTesseractはそれぞれの所有者の登録商標です。 このサイトはBaidu、Google、PaddlePaddle、またはRapidOCRと提携、承認、スポンサーされていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。