ASP.NET MVCでのPDF生成方法: IronPDF対iTextSharp?
ドキュメントのワークフローにおいて常に発生する2つのレイアウト問題があります。 財務テーブル、ダッシュボード、プロジェクトタイムラインのような幅広いコンテンツが、ポートレートに強制された場合に切り取られたり、折り返されたりします。 そして、スキャンまたはインポートされたページは、横向きや逆さまで届くことがよくあります。 IronPDFは、PDFがレンダリングされる際に向きを設定し、既存のドキュメントのページを回転させることで、C#で両方の問題を解決します。
ビジネス問題
レポートシステムが、ポートレートページをはみ出すスプレッドシートスタイルのテーブルを出力します。 ドキュメント受付プロセスが、間違った向きで回転されたスキャンを受け取ります。 複数のソースからまとめられた最終レポートには、一貫性のない角度のページがあります。 各ケースでは、ユーザーは目を細めたり、横にスクロールしたり、ビューワーで手動でページを回転したりします。 目標は、自動的に生成される正しく一貫したレイアウトです。
レンダリング時の向き設定
向きは、PaperOrientation プロパティを使用して、他の形式からPDFを生成する際に選択されます。 横向きは、幅広のコンテンツに必要な水平スペースを提供します。
using IronPdf;
using IronPdf.Rendering;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
PdfDocument pdf = renderer.RenderHtmlAsPdf(reportHtml);
pdf.SaveAs("report-landscape.pdf");
既存ドキュメントのページの回転
回転は既に作成されたドキュメントで機能し、スキャンを修正したり、マージされたファイルを正規化するためのツールです。 IronPDFは、PdfPageRotation enumを介して4つの固定角度を提供し、1ページ、選択されたセット、またはすべてのページに対するメソッドを提供します。
PdfDocument pdf = PdfDocument.FromFile("scanned.pdf");
// Correct every page in a uniformly misrotated batch
pdf.SetAllPageRotations(PdfPageRotation.Clockwise90);
// Fix a single page
pdf.SetPageRotation(1, PdfPageRotation.Clockwise180);
// Fix a selected set of pages
pdf.SetPageRotations(new List<int> { 0, 3 }, PdfPageRotation.Clockwise270);
pdf.SaveAs("corrected.pdf");
GetPageRotation は、複数のソースからマージされたドキュメントを正規化するのに役立つ任意のページの現在の角度を読み取ります。
PdfPageRotation rotation = pdf.GetPageRotation(1);
計画すべきポイント
- レンダリング時 vs 既存ファイル:
PaperOrientationは、他の形式からPDFを生成する際にのみ適用されます。 回転は既に存在するPDFに適用されます。2つを分けて扱うことで最も一般的な間違いを避けます。 - 全ページ回転: 回転は、テキスト、画像、および注釈を一緒に動かし、個々のテキスト要素の回転とは異なります。
- ゼロベースのインデックス:
SetPageRotation(1, ...)は2ページ目をターゲットにします。 - オリジナルの保護: 回転した出力を新しいファイル名に保存し、複数ページに
SetPageRotationsを使用してパフォーマンスを向上させます。
結果
レンダリング中の向きが設定され、後で回転が適用されることで、チームはコンテンツに適したレポートを作成し、正しく向けたドキュメントを保存するインテークパイプラインを確立できます。詳細なメソッド情報はページ向きと回転ガイドにあります。

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