IRONSOFTWAREHOME

PDFにおけるページの向きと回転

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

PDFを扱う際には、通常、ページについての2つの事項を知る必要があります:その向き(縦または横)とコンテンツが回転しているかどうかです。 それを見つける方法は2つあり、それぞれがわずかに異なる質問に答えます。

  • PdfDocument.Pages[i].PageRotation はPDFのメタデータから回転を読み取ります。
  • OcrInput.DetectPageOrientation() はOCRを使用して視覚的に向きを推定します。

向きと回転

これらは同じプロパティではありません:

  • ページの向き: ページのレイアウト。 縦向き とは高さが幅より大きいことを意味します; 横向き とは幅が高さより大きいことを意味します。
  • 回転角度: コンテンツが自然な読み方向に対してどのように配置されているか、たとえば 180 など。

オプション1: メタデータから回転を読む

PageRotation はPDFファイルに埋め込まれた回転値を返すので、コンテンツがプログラム上でどのように回転されているかを示します。 適切に作成されたPDFの場合、これは信頼性があり一貫しています。

var pdf = PdfDocument.FromFile("sample.pdf");
for (int i = 0; i < pdf.PageCount; i++)
{
    var page = pdf.Pages[i];
    var orientation = page.Width > page.Height ? "Landscape" : "Portrait";
    var rotation = page.PageRotation;
    Console.WriteLine($"Page {i + 1}: {orientation}, Rotation: {rotation} degrees");
}
C#

幅と高さの比較から向きを、メタデータから直接回転角度を、一度に知ることができます。

**最適な用途:**一貫していて有効なメタデータを持つ構造化されたPDF。

オプション2: OCRで向きを検出

メタデータが欠落しているか信頼できない場合は、代わりにページを視覚的に分析してください。 DetectPageOrientation() は各ページのレイアウトを調べ、メタデータに依存せずに、可能性のある読み方向を推測します。

using var input = new OcrInput();
input.LoadPdf("sample.pdf");
var results = input.DetectPageOrientation();
foreach (var result in results)
{
    Console.WriteLine($"Page {result.PageNumber + 1}: Rotation: {result.RotationAngle} degrees");
}
C#

これはスキャンされた文書、画像ベースのPDF、および正しいメタデータを欠く任意のファイルに適した選択です。

ここでの精度はテキスト密度と明瞭さによります。 スパースまたは不整合なテキストは誤った結果を生む可能性があるため、OCRを制限して、検出を安定させるためにより密集したテキスト領域上で Rectangle を実行してください。

推奨事項

  • デジタルPDF: メタデータが正しい場合には PdfDocument.PageRotation を推奨します。
  • スキャンまたは画像ベースのPDF: メタデータが欠落しているか信頼できない場合には OcrInput.DetectPageOrientation() を使用してください。

重要なワークフローに対しては、両方の方法を実行し、矛盾がある場合には自分のロジックを適用して調整してください。 回転結果が一貫していない場合は、特定のページレイアウトを確認し、片方の方法をもう一方の方法に対して検証してください。

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

Nuget Downloads 6,236,385バージョン:2026.9リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. 「参照」を選択して「IronOCR」を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

または、Windowsインストーラーをこちらからダウンロード。

  1. IronOCRをダウンロードして、ソリューションディレクトリ内の~/Libsなどの場所に解凍します
  2. Visual Studioソリューションエクスプローラーで、リファレンスを右クリックします。「参照」、「IronOCR.dll」を選択

$999からのライセンス

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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。