C#でのOCR用のページ回転を検出する方法 | IronOCR

IronOCR を使って C# でページの回転を検出する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

ページの回転を決定するには、ドキュメント内のページに適用された回転の度合いを識別する必要があります。 このプロセスでは、ページが 0、90、180、270 度の角度で時計回りまたは反時計回りに回転されているかどうかを具体的に判断します。 この情報は、ドキュメントを正確にレンダリングまたは処理し、ページが正しい方向で表示または印刷されるようにするために重要です。

クイックスタート: DetectPageOrientation を使用してページの回転を識別する

この簡単な例では、開発者は読み込まれた PDF で IronOCR の DetectPageOrientation を使用し、最も信頼性の高いページの RotationAngle にすぐにアクセスします。 これは、最小限のセットアップとコードでページの回転を高速に検出して修正する方法です。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronOCR をインストールします

    PM > Install-Package IronOcr

  2. このコード スニペットをコピーして実行します。

    var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation();
    Console.WriteLine(rotationResults.First().RotationAngle);
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう
    arrow pointer


ページの回転を検出する例

ドキュメントを読み込んだ後、 DetectPageOrientationメソッドを使用して各ページの回転を識別できます。 この方法は、0、90、180、270 の度数をサポートします。傾斜した画像の場合は、 Deskew画像補正方法を使用できます。 次に、関数から返された度数を使用して、画像を元の方向に回転します。 サンプル PDFを進めていきましょう。

ご注意この関数は、文書にテキストが密集している場合に適しています。

:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation.cs
using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation
var results = input.DetectPageOrientation();

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}
Imports IronOcr
Imports System

Private input = New OcrInput()

' Load PDF document
input.LoadPdf("Clockwise90.pdf")

' Detect page rotation
Dim results = input.DetectPageOrientation()

' Ouput result
For Each result In results
	Console.WriteLine(result.PageNumber)
	Console.WriteLine(result.HighConfidence)
	Console.WriteLine(result.RotationAngle)
Next result
$vbLabelText   $csharpLabel

結果を理解する

  • PageNumber : ページのゼロベースのインデックスを示します。
  • RotationAngle : 回転角度を度単位で提供します。 さらに、この情報をRotateメソッドと組み合わせて使用すると、画像を元の垂直方向に戻すことができます。
  • HighConfidence : 方向付け結果の信頼度レベルを示します。エッジケースをより効果的に処理するのに役立ちます。

高度なページ回転の検出

DetectPageOrientationメソッドでは、検出の詳細レベルを制御するオプションのパラメータを指定することもできます。 OreitnationDetectioModeの列挙体をパラメータとして提供することで、ユーザーはニーズに応じて検出速度と詳細をカスタマイズおよび調整できます。

使用方法の簡単なコード例を次に示します。

:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation-advanced.cs
using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation with Fast mode
var results = input.DetectPageOrientation(OrientationDetectionMode.Fast);

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

現在、 OrientationDetectionModeには 4 つの速度オプションがあります。

警告 BalancedDetailed 、およびExtremeDetailedオプションを使用するには、IronOcr.Extensions.AdvancedScan パッケージをインストールする必要があります。 現時点では、これらのオプションは Windows x86 および Mac ARM では使用できません。

-高速:高速方向モードでは、方向角度を高速で検出しますが、精度は低くなります。 そのため、スピードが重要となるドラフト処理や大量処理に最適です。 これは、 DetectPageOrientationメソッドのデフォルト設定です。

-バランス:バランス方向モードでは、バランスの取れた速度と精度で方向角度が決定されます。 一般的に、デフォルトまたは本番タスクに適しています。

-詳細:詳細方向モードでは、低速ですが高精度で方向角度を決定します。 そのため、一般的には、精密なタスクや重要なタスクに適しています。

  • ExtremeDetailed : ExtremeDetailed方向モードでは、方向角度は最も遅い速度で決定されますが、可能な限り最高の精度が提供されます。 ただし、他のオプションに比べて速度が遅いため、詳細オプションでは不十分な場合や、テキスト入力自体が大きく歪んでいる場合にのみ最適です。

よくある質問

C#を使用してドキュメントのページ回転を検出する方法は?

IronOCRのDetectPageOrientationメソッドを使用して、ドキュメント内のページの回転を識別できます。このメソッドは、0、90、180、270度の回転を検出できます。

IronOCRでページ回転を修正するのに必要な手順は何ですか?

最初に、DetectPageOrientationメソッドを使用して回転角度を決定します。その後、RotationAngleプロパティを使用してRotateメソッドを適用し、ページの向きを修正します。

IronOCRは傾いたドキュメント画像をどのように処理しますか?

傾いた画像の場合、IronOCRは回転修正を適用する前に傾きを修正するためのDeskewメソッドを提供します。

正確なページ回転検出を確保するために役立つプロパティは何ですか?

RotationAngleプロパティは修正に必要な角度を示し、HighConfidenceプロパティは検出された向きの信頼レベルを示し、エッジケースの管理を支援します。

IronOCRを使用してドキュメントページが正しく表示されることをどのように保証しますか?

DetectPageOrientationメソッドを使用して回転角度を見つけ、その角度を使用してRotateメソッドを適用してページの向きを修正します。

IronOCRは文字数が多いドキュメントを効果的に処理できますか?

はい、IronOCRのDetectPageOrientation関数は、文字数が多いドキュメントでも優れた性能を発揮するように設計されています。

IronOCRのPageNumberプロパティは何を示していますか?

PageNumberプロパティは、複数のページにわたる向きの修正を追跡するために、処理中のページのゼロベースのインデックスを示します。

回転し、かつ傾いたドキュメントをどのように修正しますか?

最初に、IronOCRのDeskewメソッドを使用して傾きを修正し、その後、DetectPageOrientationメソッドおよび検出されたRotationAngleを使用してRotateメソッドを適用し、回転を修正します。

ドキュメント処理におけるページ回転の検出の重要性は何ですか?

ページ回転の検出により、ドキュメントが正確にレンダリングおよび処理され、表示または印刷のために正しい向きが維持されることが保証されます。これはOCRのようなアプリケーションにとって重要です。

IronOCRは1つのドキュメント内の複数の回転角度を処理できますか?

はい、IronOCRはDetectPageOrientationメソッドを使用して、各ページに対する異なる回転角度を検出し、修正できます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 5,167,857 | Version: 2025.11 リリース