フッターコンテンツにスキップ
IRONPDFの使用

ASP.NET MVC PDFビューアを作成する方法

How to Create an ASP.NET MVC PDF Viewer

ASP.NET MVCアプリケーションのための堅牢なPDFビューアを作成するには、複雑なJavaScriptライブラリやサードパーティのビューアコントロールは必要ありません。 IronPDFを使用すると、PDFファイルの表示からビューからの動的なPDFドキュメントの生成までを処理する、強力なMVC PDFビューアコントロールを作成できます。

この記事では、すべてのブラウザでシームレスに動作する完全なASP.NET MVC PDFビューアソリューションを実装する方法を紹介します。 さらに、テキスト選択、フォーム入力、モダンなウェブアプリケーション向けのレスポンシブ表示などの機能をどのように実装できるかを紹介します。 最初のファイルをアップロードして表示する前に、包括的なドキュメントをメモしておいてください。

IronPDFをダウンロードして、わずか数行のコードで自分の.NET MVC PDFビューアコントロールを作成する方法の簡単さを確認してください。

ASP.NET MVC PDFビューアを作成するにはどうすればよいですか?

ASPベースのPDFビューアの設定は、NuGetパッケージマネージャーを通じてIronPDFをインストールすることから始まります。 この.NET PDFビューアコントロールは、ブラウザの互換性の問題を解消するサーバーサイドの処理機能を提供します。 詳細なインストールガイダンスについては、IronPDFのインストールドキュメントを参照してください。

Install-Package IronPdf

ASP.NET MVCコントローラーに、必須の名前空間を追加します:

using IronPdf;
using System.Web.Mvc;
using IronPdf;
using System.Web.Mvc;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これらのインポートは、WebアプリケーションがPDFのレンダリングと表示を処理できるようにします。 ChromePdfRendererクラスは、MVC PDFビューアコントロールの主要コンポーネントとして機能し、ユーザーのブラウザにPDFファイルを直接作成、操作、および表示するメソッドを提供します。 クライアントサイドのソリューションとは異なり、IronPDFはすべてをサーバーで処理し、すべてのデバイスとブラウザで一貫したレンダリングを保証しながら、PDFドキュメントの制御を維持します。 このアプローチの重要な利点は、そのセキュリティです。

.NET MVC WebアプリケーションにPDFファイルを表示する方法?

既存のPDFファイルを表示するPDFビューアコントロールを作成するには、FileResultとしてドキュメントを返すコントローラーアクションを実装する必要があります。 このアプローチにより、ユーザーはファイルを手動でアップロードしたり選択したりする必要なく、ブラウザでPDFページを直接閲覧できます。 より高度なシナリオについては、IronPDFのレンダリングオプションを探索してください。

public FileResult DisplayPdf(string fileName)
{
    // Load existing PDF document
    var pdfPath = Server.MapPath($"~/Content/PDFs/{fileName}");
    PdfDocument pdf = PdfDocument.FromFile(pdfPath);
    // Set response headers to display in browser
    Response.Headers.Add("Content-Disposition", "inline; filename=" + fileName);
    // Return PDF to the browser
    return File(pdf.BinaryData, "application/pdf");
}
public FileResult DisplayPdf(string fileName)
{
    // Load existing PDF document
    var pdfPath = Server.MapPath($"~/Content/PDFs/{fileName}");
    PdfDocument pdf = PdfDocument.FromFile(pdfPath);
    // Set response headers to display in browser
    Response.Headers.Add("Content-Disposition", "inline; filename=" + fileName);
    // Return PDF to the browser
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコードは、サーバーのファイルシステムからPDFドキュメントを読み込み、ブラウザに送信します。 Content-Disposition: inlineヘッダーは、PDFファイルをダウンロードトリガーせずにビューポート内に表示するようブラウザに指示します。 PdfDocument.FromFileメソッドは既存のファイルを読み取り、pdf.BinaryDataはストリーミングに必要なバイト配列を提供します。

この簡素な実装は、さまざまなファイルサイズを効率的に処理する機能的なMVC PDFビューアを作成します。 レスポンシブなビューイングのために、ブラウザはビューポートの寸法に基づいて表示を自動的に調整し、PDFビューアがモバイルデバイスでも動作するようにします。 Stack Overflowのディスカッションによると、このサーバーサイドアプローチはプラグイン埋め込みよりも優れた制御を提供します。 また、スクリーンリーダーでもうまく動作します。

出力PDF

ASP.NET MVC PDFビューアの作成方法:図1 - ブラウザに表示されたPDF

ビューをPDFドキュメントに変換する方法?

ASP.NET MVC PDFビューアは、Razorビューから動的にPDFドキュメントを生成し、データ駆動型のドキュメント作成を可能にします。 この強力な機能により、任意のビューをプロフェッショナルにフォーマットされたPDFに変換できます。 CSHTMLをPDFに変換する方法についてもっと学んでください。

public FileResult GeneratePdfFromView()
{
    // Sample data for the view
    var model = new ReportModel
    {
        Title = "Monthly Report",
        Data = ReportModel.GetReportData()
    };
    // Initialize renderer
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.EnableJavaScript = true;
    // Render MVC view to PDF
    var pdf = renderer.RenderView(this.HttpContext, 
                                  "~/Views/Reports/Monthly.cshtml", 
                                  model);
    // Display in browser
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
public FileResult GeneratePdfFromView()
{
    // Sample data for the view
    var model = new ReportModel
    {
        Title = "Monthly Report",
        Data = ReportModel.GetReportData()
    };
    // Initialize renderer
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.EnableJavaScript = true;
    // Render MVC view to PDF
    var pdf = renderer.RenderView(this.HttpContext, 
                                  "~/Views/Reports/Monthly.cshtml", 
                                  model);
    // Display in browser
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

RenderViewメソッドは、CSHTMLビューをPDFドキュメントに変換し、すべてのスタイリングとレイアウトを保持します。 RenderingOptionsは、マージンを制御し、JavaScriptの実行を有効にし、他の表示プロパティを構成することを可能にします。 このサーバーサイドのレンダリングは、ユーザーのブラウザやデバイスに関係なく一貫した出力を保証します。

生成されたPDFページは、レスポンシブデザイン要素を保持し、最適な表示のためにコンテンツを自動的に適応させます。 複雑なレイアウトの場合は、ヘッダーとフッターを追加してプロフェッショナルなドキュメントを作成できます。 これは、ほとんどのクライアントサイドの代替案と比べて非常に軽量のソリューションです。

レンダリングされたビュー出力

ASP.NET MVC PDFビューアの作成方法:図2 - PDFにレンダリングされ、その後PDFビューアブラウザアプリで表示されたビュー

PDFビューアに追加できる機能は何ですか?

モダンなPDFビューアコントロールの実装には、基本的な表示を超えたインタラクティブな機能が必要です。 IronPDFは、PDFファイルをレンダリングする際に自動的にテキスト選択およびテキスト検索機能を有効にします。 ユーザーは表示されたドキュメントから直接コンテンツをハイライトしてコピーできます。 これらの機能はユーザーエクスペリエンスを向上させ、ASP.NET MVC PDFビューアをより機能的にします。

public FileResult ViewPdfWithFeatures(int documentId = 1)
{
    // Load the PDF document object
    var pdf = LoadPdfDocument(documentId);
    if (pdf == null)
    {
        // Handle file not found (returns nothing, which will result in a 404 or empty response)
        return null;
    }
    pdf.SecuritySettings.AllowUserFormData = true;
    pdf.Bookmarks.AddBookMarkAtStart("Table of Contents", 1);
    pdf.Bookmarks.AddBookMarkAtStart("Chapter 1", 5);
    // Configure viewer toolbar
    Response.Headers.Add("Content-Disposition",
                        "inline; filename=document.pdf#toolbar=1");
    return File(pdf.BinaryData, "application/pdf");
}
public FileResult ViewPdfWithFeatures(int documentId = 1)
{
    // Load the PDF document object
    var pdf = LoadPdfDocument(documentId);
    if (pdf == null)
    {
        // Handle file not found (returns nothing, which will result in a 404 or empty response)
        return null;
    }
    pdf.SecuritySettings.AllowUserFormData = true;
    pdf.Bookmarks.AddBookMarkAtStart("Table of Contents", 1);
    pdf.Bookmarks.AddBookMarkAtStart("Chapter 1", 5);
    // Configure viewer toolbar
    Response.Headers.Add("Content-Disposition",
                        "inline; filename=document.pdf#toolbar=1");
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

この実装によりフォーム入力機能が可能になり、ユーザーはブラウザで直接PDFフォームデータを送信できます。 ブックマークの追加は、長いドキュメントを簡単にナビゲートするためのナビゲーション構造を作成します。 Content-Dispositionヘッダーの組み込みツールバーのパラメータにより、ユーザーはズーム、印刷、およびダウンロード機能にアクセスできます。

これらの機能によって基本的な表示が包括的なASP.NET MVC PDFビューアに変わり、完全なドキュメントのインタラクションをサポートします。 高度なシナリオの場合は、IronPDFの注釈機能を探索して、PDFページにコメントや注釈を追加してください。 Ctrl + Fのようなキーボードショートカットを使用して、テキストの出現をすばやく検索します。

出力

ASP.NET MVC PDFビューアの作成方法:図3 - ブックマークアウトラインが追加されたPDFの読み込み

PDFビューアコントロールを安全にする方法?

WebアプリケーションにPDFビューアを実装する際には、セキュリティが重要です。 IronPDFは、機密性の高いPDFドキュメントに対して複数の保護層を提供します。 Microsoftのセキュリティベストプラクティスによれば、サーバーサイドの処理はクライアントサイドのライブラリよりも優れた制御を提供します。

public FileResult SecurePdfView(string documentId)
{
    var pdf = GenerateConfidentialPdf();
    // Apply security settings
    pdf.SecuritySettings.UserPassword = "MySecretPassword";
    pdf.SecuritySettings.OwnerPassword = "OwnerSecretPassword";
    pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
    pdf.SecuritySettings.AllowUserCopyPasteContent = false;
    pdf.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
    // Prevent unauthorized downloads
    Response.Headers.Add("X-Frame-Options", "SAMEORIGIN");
    Response.Headers.Add("Content-Security-Policy",
                        "frame-ancestors 'self'");
    return File(pdf.BinaryData, "application/pdf");
}
public FileResult SecurePdfView(string documentId)
{
    var pdf = GenerateConfidentialPdf();
    // Apply security settings
    pdf.SecuritySettings.UserPassword = "MySecretPassword";
    pdf.SecuritySettings.OwnerPassword = "OwnerSecretPassword";
    pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
    pdf.SecuritySettings.AllowUserCopyPasteContent = false;
    pdf.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
    // Prevent unauthorized downloads
    Response.Headers.Add("X-Frame-Options", "SAMEORIGIN");
    Response.Headers.Add("Content-Security-Policy",
                        "frame-ancestors 'self'");
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これらのセキュリティ対策は、PDFファイルの不正アクセスや配布を防ぎます。 パスワード保護は閲覧前に認証を要求し、許可設定は機密コンテンツのコピーや印刷を防ぎます。 セキュリティヘッダーは、PDFビューアコントロールを不正な外部サイトに埋め込むことを防ぎます。 これは特に機密ドキュメントを保護する際に役立ちます。

追加のセキュリティオプションについては、IronPDFのパスワードおよび権限のドキュメントを探索してください。

結論

IronPDFは、その包括的なPDFビューア機能により、ASP.NET MVCアプリケーションを強力なドキュメント管理システムに変えます。 基本的なファイル表示からフォーム入力やテキスト検索のような高度な機能に至るまで、モダンなWebアプリケーションの要件を満たすプロフェッショナルなMVC PDFビューアコントロールを構築できます。 サーバーサイドの処理はすべてのプラットフォームで一貫したレンダリングを保証し、PDFドキュメントのセキュリティと制御を保持します。 PDFファイルを表示したり、動的なレポートを作成したり、インタラクティブなUI要素を追加したりする必要があるかどうかにかかわらず、IronPDFは開発プロセスを支援するツールとドキュメントを提供します。

自分のASP.NET MVC PDFビューアを実装する準備はできていますか? 無料トライアルを開始して、チームに適したプランを選びましょう。

よくある質問

ASP.NET MVCでPDFビューアを作成するにはどうすればよいですか?

ASP.NET MVCでPDFビューアを作成するには、IronPDFを使用してアプリケーション内でPDFドキュメントを直接表示します。IronPDFは、ASP.NET MVCプロジェクト内でPDFをシームレスにレンダリングし、操作するためのツールを提供します。

ASP.NET MVCにおけるPDF生成にIronPDFを使用する利点は何ですか?

IronPDFは、開発者がHTMLビューをPDFドキュメントに簡単に変換できるようにして、PDF生成を簡素化します。さまざまなインタラクティブ機能をサポートし、ASP.NET MVCアプリケーションから直接動的なPDFコンテンツを作成するのに最適です。

IronPDFはASP.NET MVCビューをPDFドキュメントに変換できますか?

はい、IronPDFはASP.NET MVCビューをPDFドキュメントに変換できます。この機能により、ウェブページデザインをPDFとしてレンダリングし、レイアウトとコンテンツの整合性を保つことができます。

ASP.NET MVCアプリケーションでPDFにインタラクティブな機能を追加することは可能ですか?

IronPDFは、フォームフィールド、アノテーション、JavaScriptアクションのようなインタラクティブな機能をPDFに追加することをサポートし、ASP.NET MVCアプリケーション内でユーザーエンゲージメントを高めます。

ASP.NET MVCにおけるPDFドキュメントのレンダリングはどのように行われますか?

IronPDFは、先進的なレンダリング機能を使用して、PDFドキュメントをASP.NET MVCアプリケーションで正確に表示し、元のドキュメントレイアウトに忠実に維持します。

ASP.NET MVCでIronPDFが扱えるファイル形式は?

IronPDFは主にPDFファイルを扱いますが、HTML、ASPX、その他のウェブページ形式をPDFに変換することもでき、ASP.NET MVC開発において多様性があります。

既存のASP.NET MVCプロジェクトにIronPDFを統合できますか?

はい、IronPDFを既存のASP.NET MVCプロジェクトに簡単に統合でき、強力なPDF閲覧と生成機能を持つアプリケーションを開発者が強化することを可能にします。

ASP.NET MVCを使用している開発者向けにIronPDFはどのようなサポートを提供していますか?

IronPDFは、スムーズな統合と使用を保証するために、チュートリアルやAPI参照を含む包括的な文書とサポートを開発者に提供します。

Curtis Chau
テクニカルライター

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

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