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

IronPDF を使ったASP.NET Core MVC PdfViewerの作り方

最近のブラウザにはPDFビューアが内蔵されており、ウェブアプリケーションが正しいMIMEタイプでPDFファイルを提供すると自動的に起動します。 これにより、サードパーティのツールやプラグインが不要になり、ユーザーはブラウザで直接PDF文書を表示できるようになります。 IronPDFは頻繁に更新される.NET PDFライブラリで、ASP.NET Core MVCアプリケーション内でPDFファイルを簡単に生成、レンダリング、表示できます。

この記事では、IronPDFのChromeベースのレンダリングエンジンを使ってASP.NET Core MVC PDFViewerウェブアプリケーションを作成する方法を紹介します。このガイドの主な焦点は、高いパフォーマンスを維持しながらピクセルパーフェクトな結果を達成することです。

今IronPDFを始めましょう。
green arrow pointer

最近のブラウザーはPDFファイルをどのように表示しますか

Chrome、Firefox、Edge、Safariなどの最新ブラウザには、ネイティブのPDFビューア機能が含まれています。 .NET Coreアプリケーションがapplication/pdfコンテンツタイプのファイルを返すと、ブラウザはAdobe Acrobatや外部プラグインを必要とせずにPDFドキュメントをインラインでレンダリングします。 このビルトインPDFビューアは、テキスト選択、印刷、ズームコントロール、しおり、ページナビゲーションなどの重要な機能をサポートし、完全なドキュメント閲覧体験を作り出します。

既存のファイルを安全に提供するためには、開発と本番で変更される可能性のあるディレクトリパスに依存するのではなく、ホスティング環境を使用してファイルを見つけることがベストプラクティスです。 また、ファイル・ストリームを使用する方が、大きなドキュメントの場合、バイト配列全体を読み込むよりもメモリ効率が高いことがよくあります。

using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
    public IActionResult ViewPdf()
    {
        // Path to an existing PDF file in the wwwroot folder
        string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
        byte[] fileBytes = System.IO.File.ReadAllBytes(path);
        // Return file for inline browser display
        return File(fileBytes, "application/pdf");
    }
}
using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
    public IActionResult ViewPdf()
    {
        // Path to an existing PDF file in the wwwroot folder
        string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
        byte[] fileBytes = System.IO.File.ReadAllBytes(path);
        // Return file for inline browser display
        return File(fileBytes, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFビューア:PDFファイルを表示する

How to Create an ASP.NET Core MVC PdfViewer with IronPDF:画像1 - ブラウザに表示されるサンプルPDF

上のコードは、サーバーから既存のPDFファイルを読み込み、ブラウザに返します。 File()メソッドは、バイト配列とコンテンツ・タイプを受け取り、ブラウザのドキュメント・ビューワにコンテンツをインラインでレンダリングするよう指示します。このアプローチは、デスクトップとモバイルデバイスの両方のすべてのモダンブラウザで機能し、すべてのユーザーに一貫したエクスペリエンスを提供します。

開発者はどのようにPDFドキュメントを動的に生成できますか?

静的なPDFファイルは便利ですが、多くのWebアプリケーションでは動的に生成されたドキュメントが必要です。 IronPDFのChromePdfRendererクラスはHTMLコンテンツをプロフェッショナルにレンダリングされたPDFファイルに変換します。 Visual StudioのNuGetパッケージからIronPdfをインストールしてください。

特定のテーマ用のCSSやチャート用のJavaScriptなどの外部資産を、HTML文字列に直接含めることができます。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with CSS styling
        string HTML = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>";
        PdfDocument PDF = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with CSS styling
        string HTML = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>";
        PdfDocument PDF = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFが生成され、当社のドキュメントビューアで表示されます。

How to Create an ASP.NET Core MVC PdfViewer with IronPDF:画像2 - HTMLコンテンツからPDFドキュメントをレンダリングし、それを表示する

この例では、IronPDFがHTML文字列をPDFドキュメントに変換する方法を示します。 ChromePdfRenderer<//code> は Chromium ベースのエンジンを使用しており、正確な CSS レンダリングと JavaScript サポートを保証します。 生成されたPDFは、HTML本文で定義されたすべてのスタイルが維持されるため、レポートや請求書など、一貫した書式設定が必要な文書の作成に最適です。 コントローラはリクエストを処理し、アプリはレンダリングされた出力をユーザーに返します。

HTMLからPDFへの変換に関する追加情報やコード例については、IronPDFの包括的なドキュメントをご覧ください。

インライン表示とダウンロードにはどのようなオプションがありますか?

ユーザーは、PDFファイルをブラウザで表示するのではなく、ダウンロードする必要があります。 ホームページに、ユーザーをこれらのレポートに誘導するリンクがあるかもしれません。 ブラウザがどのようにレスポンスを処理するかは、Content-Dispositionヘッダーに依存します。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
    public IActionResult DisplayInline()
    {
        var renderer = new ChromePdfRenderer();
        PdfDocument PDF = renderer.RenderUrlAsPdf("https://example.com");
        // Display PDF inline in browser
        return File(pdf.BinaryData, "application/pdf");
    }
    public IActionResult DownloadPdf()
    {
        var renderer = new ChromePdfRenderer();
        PdfDocument PDF = renderer.RenderUrlAsPdf("https://example.com");
        // Prompt download with specified filename
        return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
    public IActionResult DisplayInline()
    {
        var renderer = new ChromePdfRenderer();
        PdfDocument PDF = renderer.RenderUrlAsPdf("https://example.com");
        // Display PDF inline in browser
        return File(pdf.BinaryData, "application/pdf");
    }
    public IActionResult DownloadPdf()
    {
        var renderer = new ChromePdfRenderer();
        PdfDocument PDF = renderer.RenderUrlAsPdf("https://example.com");
        // Prompt download with specified filename
        return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFをレンダリングしてインラインで表示する

How to Create an ASP.NET Core MVC PdfViewer with IronPDF:画像3 - URLコンテンツからレンダリングされた後、インラインで表示されるPDFドキュメント

これら2つのコントローラアクションの違いは、File()メソッドの3番目のパラメータにあります。 ファイル名を指定すると、.NET Coreは自動的にContent-Disposition: attachmentヘッダーを追加し、ユーザーにファイルのダウンロードを促します。ファイル名パラメータを省略すると、デフォルトのインライン表示モードが使用されます。

この柔軟性により、ユーザーの要求やプロジェクトの要件に基づいて、アプリが両方の表示シナリオをサポートできるようになります。

どのように Razor Pages を .NET Core PDF 生成と統合できますか?

ASP.NET Core MVCのRazor Pagesは、.NET PDFビューアコントロールを実装するための別のアプローチを提供します。 ページモデルは同じIronPDFの機能を使ってPDFファイルを生成して返すことができます。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
    public IActionResult OnGet(int id)
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        string HTML = $@"
            <html>
            <body>
                <h1>Invoice #{id}</h1>
                <p>Date: {DateTime.Now:yyyy-MM-dd}</p>
                <p>Thank you for your business!</p>
            </body>
            </html>";
        PdfDocument PDF = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
    public IActionResult OnGet(int id)
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        string HTML = $@"
            <html>
            <body>
                <h1>Invoice #{id}</h1>
                <p>Date: {DateTime.Now:yyyy-MM-dd}</p>
                <p>Thank you for your business!</p>
            </body>
            </html>";
        PdfDocument PDF = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力

How to Create an ASP.NET Core MVC PdfViewer with IronPDF:画像4 - 生成されたPDF</a

このRazor Pagesの例は、OnGetハンドラがURLパラメータからPDFを生成する方法を示しています。 RenderingOptionsプロパティは、余白、ページの向き、その他の設定をカスタマイズすることができます。 追加情報については、IronPDFのレンダリングオプションのドキュメントをご覧ください。

結論

PDFドキュメントのASP.NET Core MVCビューアの作成は、ブラウザネイティブの機能とIronPDFの強力な生成機能を組み合わせています。 最近のブラウザの内蔵PDFビューアは、ASPコントローラが正しいMIMEタイプでファイルを返すと、表示、印刷、ナビゲーション機能を自動的に処理します。 IronPDFはCSS、JavaScript、カスタムレンダリングオプションを完全にサポートし、HTML、URL、既存のファイルからプロフェッショナルなPDFドキュメントの作成を簡素化します。

PDFファイルを表示するためのシンプルなドキュメントビューアの構築であれ、レポート生成システムの実装であれ、IronPdfはシームレスなPDF統合に必要なツールと機能を提供します。 .NETライブラリは、ASP.NET Core Webアプリケーションにスムーズに統合されます。

無料トライアルを開始してIronPDFの全機能を試すか、ライセンスを購入して実運用にお使いください。

よくある質問

ASP.NET Core MVCアプリケーションでPDFファイルを表示するには?

IronPDF を使用することで、ASP.NET Core MVCアプリケーションでPDFファイルを表示することができます。最新のビルトインPDFビューアを使用して、ブラウザで直接PDFファイルを生成、レンダリング、表示することができます。

ブラウザでPDFを表示するには、サードパーティのプラグインが必要ですか?

いいえ、最近のブラウザにはPDFビューアが内蔵されており、正しいMIMEタイプでPDFファイルを提供すると自動的に有効になります。IronPdfはあなたのPDFが正しく提供されるようにサポートします。

ASP.NET Core MVCでIronPDFを使用する利点は何ですか?

IronPDFは.NET PDFライブラリで、ASP.NET Core MVCアプリケーション内でのPDFドキュメントの生成とレンダリングのプロセスを簡素化し、生産性を高め、PDF管理を合理化します。

IronPdfは既存のブラウザーPDFビューアーと一緒に使えますか?

IronPdfは既存のブラウザのPDFビューアとシームレスに動作し、PDFはブラウザで自動的に表示されるように正しいMIMEタイプで提供されます。

IronPDFは頻繁に更新されますか?

IronPDFは頻繁に更新される.NET PDFライブラリで、ASP.NET Core MVCアプリケーションでPDFドキュメントを扱うための最新の機能と改善を提供します。

IronPdfはウェブアプリケーションでどのようにPDFを生成するのですか?

IronPdfは様々なコンテンツタイプからPDFを生成する堅牢な機能を提供し、開発者がウェブアプリケーション内でダイナミックでインタラクティブなPDFドキュメントを作成することを可能にします。

PDFファイルを提供するには、どのMIMEタイプを使用すべきですか?

ブラウザでの適切な表示を保証するために、PDFファイルはMIMEタイプ'application/pdf'で提供されるべきです。IronPdfはこの点を効率的に管理するお手伝いをします。

IronPdfでPDFレンダリングをカスタマイズできますか?

IronPDFはPDFのレンダリングに広範なカスタマイズオプションを提供しており、特定のデザインや機能要件を満たすように出力を調整することができます。

IronPDFはASP.NET Core MVCアプリケーションのみをサポートしていますか?

IronPDFはASP.NET Core MVCアプリケーションに最適ですが、他の.NETアプリケーションでPDF機能を扱うこともできます。

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

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

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