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

ASP.NET CoreでPDFを表示、保存、印刷する方法

How to Display, Save, and Print PDFs in an ASP.NET Core Viewer

PDFドキュメントを直接ウェブブラウザで表示することは、現代のASP.NET Coreウェブアプリケーションにおいて重要な要件となっています。 請求書、レポート、契約書を生成する場合でも、ユーザーはPDFファイルをダウンロードしたりAdobe Acrobat Readerや他のプラグインをインストールすることなく、シームレスにPDFを閲覧することを期待しています。 このチュートリアルは、IronPDFが強力なChromeベースのレンダリングエンジンを使用して、ASP.NET Core PDFビューアーでのPDFファイルの表示、保存、印刷を簡素化する方法を示します。

ASP.NET CoreでのブラウザのPDF表示方法

現代のブラウザは適切なMIMEタイプ(application/pdf)を持つPDFファイルを受け取るときに、組み込みのPDFビューアを起動します。 ASP.NET Coreウェブアプリケーションが適切なヘッダーを持つPDFドキュメントを返すと、ブラウザは自動的にインラインで表示します。これにより外部プラグインやAdobe Acrobat Reader、複雑なJavaScriptライブラリが不要となります。 MDN Web Docsによれば、ブラウザでのファイルのダウンロードや表示方法を制御するためには適切なヘッダー設定が不可欠です。

IronPDFは、このブラウザの機能を活用してサーバーサイドで高品質なPDFファイルを生成し、ChromePdfRendererクラスを使用します。 このレンダラーは完全なChromeエンジンを内部で使用し、現代のCSS、JavaScript、デジタル署名、Webフォントの完全なサポートでPDFドキュメントを確実に表示します。 単純なドキュメントビューアとは異なり、IronPDFはPDF処理とレンダリングに対する完全な制御を提供します。

ASP.NET CoreでPDFファイルを表示/閲覧するために必要なツールは何ですか?

IronPDFをASP.NET Core PDFビューアープロジェクトに設定するのは数ステップだけです。 まず、Visual Studioまたはコマンドラインで新しいプロジェクトを作成します。Visual Studioを開き、ASP.NET Core Web Applicationのプロジェクトテンプレートを選択します:

dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
SHELL

IronPDF .NETパッケージのインストール

NuGetパッケージマネージャーを使用して、.NETプロジェクトにIronPDFをインストールします:

Install-Package IronPdf

もしくはソリューションエクスプローラーでプロジェクトを右クリックし、「NuGetパッケージの管理」を選択します。適切なパッケージソースを選択し、IronPDFを検索します。

これで必要なセットアップは完了です。 IronPDFはASP.NET Core 3.1以降(長期サポートバージョン)とシームレスに動作し、.NET 6, 7, 8を含みます。ライブラリは最新のフレームワークとの互換性を確保するために頻繁に更新されます。 詳細なインストール手順および追加情報については、IronPDFインストールガイドを参照してください。パッケージにはPDF生成、編集、処理に必要なすべてのコンポーネントが含まれています。

ASP.NET Coreを使用してブラウザにPDFファイルを表示するにはどうすればよいですか?

ブラウザでPDFファイルを作成および表示するには、ほんの数行のコードで済みます。 HTMLからPDFドキュメントを生成しインラインで表示する完全なコントローラーアクションです。このコードスニペットは主要な機能を示します:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上記のコードはChromePdfRendererインスタンスを作成し、背景色を含めるように設定し、HTMLフォームをPDFフォームに変換するように構成します。 RenderHtmlAsPdfメソッドはHTML文字列をPDFファイルに変換します。次に示すコードは、application/pdf MIMEタイプでPDFを返すことで、ブラウザにインラインで表示させ、ダウンロードせずに済む方法を示しています。 このサーバーサイドアプローチは、すべてのブラウザおよびプラットフォームで一貫したレンダリングを保証します。

出力

ASP.NET Core ViewerでPDFを表示、保存、印刷する方法: 図5 - PDF出力

既存のHTMLファイルやRazorページについては、PDFコンテンツを表示するための代替レンダリング方法を使用できます:

// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("https://example.com/invoice");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("https://example.com/invoice");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これらの方法はHTMLコンテンツのソースを柔軟に提供し、高品質なPDFレンダリング出力を維持します。 IronPDFの包括的な機能を使用して、既存のPDFドキュメントをロードしたり、PDFファイルを編集したり、Word(DOCXファイル)やExcel形式でも作業できます。 HTMLからPDFへの変換オプションについては、ドキュメントでさらに学んでください。 高度な処理および編集機能については、APIリファレンスを参照してください。

ブラウザからユーザーがPDFドキュメントを保存するにはどうすればよいですか?

ユーザーがPDFファイルをインラインで表示するのではなくダウンロードできるようにするには、Content-Dispositionヘッダーを変更します。 この機能は、ユーザーがオフラインでアクセスするためにドキュメントを保存する必要があるウェブアプリケーションにとって不可欠です:

public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}
public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ファイル名パラメータを追加すると、Content-Dispositionヘッダーが自動的に「attachment」に設定され、ブラウザはファイルをダウンロードするように促します。ユーザーはまた、ブラウザの組み込みの保存機能を使用して、インライン表示されたPDFファイルをCtrl+SまたはブラウザのPDFビューアーツールバーからも保存できます。 デフォルト動作は、ユーザーが好みのフォルダ位置を選択できるようにします。

出力

ASP.NET Core ViewerでPDFを表示、保存、印刷する方法: 図6 - ブラウザPDF出力

大きなPDFドキュメントを扱う際のメモリ効率を向上させるために、ストリームを使用します:

public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}
public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このアプローチは、中間バイト配列を作成することなく、PDFファイルを直接レスポンスにストリーミングすることでメモリ消費を削減します。 上記のコードは、大きなドキュメントのための効率的なファイル処理を示しています。 既存のPDFファイルをwwwrootフォルダや他の場所からロードし、編集し、修正版をストリーミングすることもできます。 より高度なPDFドキュメント操作と画像処理については、PdfDocument APIリファレンスを探索してください。 このコンポーネントは、テキスト選択、フォームの入力、デジタル署名の追加を含むさまざまな編集操作をサポートしています。

ASP.NET Coreウェブアプリケーションから直接PDFドキュメントを印刷できますか?

IronPDFは、適切なCSSメディアタイプとページ設定を構成することにより、印刷用にPDFファイルを最適化します。 この機能は、ユーザーが物理プリンタに印刷するか、PDFとして保存するかにかかわらず、プロフェッショナルな出力を保証します:

public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

CssMediaTypePrintに設定すると、印刷専用のCSSスタイルが適用され、印刷されたときにPDFドキュメントが正しく見えることを保証します。 マージン設定により、物理的な紙に適切なスペーシングが提供されます。 次のコードは、ユーザーが標準の印刷ダイアログを使用してブラウザのPDFビューアからPDFファイルを直接印刷する方法を示しており、プリンタの選択と設定を完全に制御します。 出力を微調整するためのPDFレンダリングオプションについて詳しく学びましょう。 コアPDFビューアーコンポーネントは、すべての印刷詳細を自動的に処理します。

ASP.NET Core ViewerでPDFを表示、保存、印刷する方法: 図7 - 印刷PDF出力

クロスプラットフォームおよびコンテナサポート

IronPDFは、Windows、Linux、macOS、Dockerコンテナ、AzureやAWSなどのクラウドプラットフォームでシームレスに動作します。 このクロスプラットフォーム対応により、AzureやAWSなどのASP.NET Core PDFビューアソリューションがデプロイ環境にかかわらず一貫して動作します。 ライブラリはプラットフォーム固有のレンダリング詳細を内部で処理するため、同じコードがどこでも変更なしに動作します。

ASP.NET Core ViewerでPDFを表示、保存、印刷する方法: 図8 - クロスプラットフォーム互換性

サーバーサイド処理は、すべてのプラットフォームで一貫したPDF生成を保証します。 WindowsサーバーやLinuxコンテナにデプロイされた場合でも、このコンポーネントは同じレンダリング品質を維持します。 ライブラリは、オペレーティングシステム間のパスの違いを自動的に管理し、wwwrootフォルダや他の場所にあるファイルを正しく処理します。 コンテナ化されたデプロイメントについては、Dockerデプロイメントガイドをチェックしてください。パッケージには各プラットフォームに必要なすべての依存関係が含まれており、ASP.NET Coreの標準要件を超えて追加の設定は不要です。

無料試用版を始めてドキュメントビューア機能を今日から変革しましょう。

まとめ

IronPDFは、サーバーサイド生成とブラウザネイティブビューイングを組み合わせることで、ASP.NET CoreのウェブアプリケーションでのPDF処理を変革します。 ほんの数行のコードで、HTMLからプロフェッショナルなPDFドキュメントを作成し、PDFファイルをインラインで表示し、ダウンロードを可能にし、印刷用に最適化できます。 Chromeベースのレンダリングエンジンは、すべてのプラットフォームでピクセルパーフェクトな精度を保証し、Adobe Acrobat Readerや他のサードパーティビューアの必要性を排除します。

このASP.NET Core PDFビューアソリューションは、フォーム入力、テキスト選択、デジタル署名、PDFファイルの編集能力を含む包括的な機能を提供します。 このコンポーネントはまた、Word文書(DOCXファイル)、Excelスプレッドシート、および画像をPDFに変換することもサポートしています。 シンプルなドキュメントビューアの構築でも、複雑なドキュメント管理システムでも、IronPDFは必要なツールとサポートを提供します。

ライブラリのタグヘルパー統合と多岐にわたるドキュメントにより、実装は簡単です。 プロジェクトのホームページはPDFファイルを直接表示し、バックエンド処理が複雑なPDF生成タスクを処理します。 ビューアは、wwwrootフォルダから読み込まれた場合でも、動的に生成された場合でも、外部ソースから取得された場合でも、一貫した動作を維持します。 ビルトインテーマサポートとカスタマイズ可能な幅設定により、アプリケーションのデザインに完璧にマッチします。

あなたの.NET Core WebアプリケーションでのPDFビューイングの実装を今すぐ始めますか?

実運用での使用については、ライセンスは$749から始まり、包括的なサポートと更新が含まれます。 ドキュメントで詳細なAPIリファレンスと高度な機能を参照してください。 豊富なコード例を参考にして、ASP.NET CoreプロジェクトでPDF機能を迅速に実装してください。

ASP.NET Core ViewerでPDFを表示、保存、印刷する方法: 図9 - ライセンス

よくある質問

ASP.NET CoreアプリケーションでPDFを表示するにはどうすればよいですか?

IronPDFを使用すると、アプリケーション内でPDFファイルを直接レンダリングする機能を提供することで、ASP.NET CoreアプリケーションでPDFを表示できます。

IronPDFを使用してASP.NET CoreでPDFを保存する手順は?

ASP.NET CoreでPDFを保存するには、IronPDFのビルトインメソッドを使用して文書をPDF形式に変換し、ファイルシステムやストリームに書き込むことができます。

ASP.NET CoreアプリケーションでPDFを印刷することは可能ですか?

はい、IronPDFを使用すると、ASP.NET Coreアプリケーションから直接PDFを印刷できます。

ASP.NET CoreでIronPDFを使用するメリットは何ですか?

IronPDFはASP.NET Coreとのシームレスな統合を提供し、最小限のセットアップでビュー、保存、印刷などのPDF操作を容易にします。

ASP.NET CoreでIronPDFは大きなPDF文書を処理できますか?

はい、IronPDFは大きなPDF文書を効率的に処理するように最適化されており、複雑なファイルでもスムーズなパフォーマンスを確保します。

ASP.NET CoreでIronPDFはPDFの注釈やコメントに対応していますか?

IronPDFはPDFに注釈やコメントを追加および読み取ることができ、ASP.NET CoreアプリケーションでPDF文書のインタラクティビティと使いやすさを向上させます。

既存のASP.NET CoreプロジェクトにIronPDFを統合するにはどうすればよいですか?

IronPDF NuGetパッケージをインストールし、そのAPIを使用してPDFを管理することで、ASP.NET CoreプロジェクトにIronPDFを統合できます。

IronPDFをASP.NET Coreで使用するための特定のシステム要件はありますか?

IronPDFは.NET Coreまたは.NET 5+を必要とし、主要なすべてのオペレーティングシステムをサポートしているため、ASP.NET Coreプロジェクトに柔軟な選択肢を提供します。

ASP.NET CoreでIronPDFは他のファイル形式をPDFに変換できますか?

はい、IronPDFはASP.NET Core環境内でHTML、画像、文書などのさまざまなファイル形式をPDFに変換できます。

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

IronPDFは包括的なドキュメント、コードサンプル、およびPDF機能を実装するASP.NET Core開発者を支援するための迅速なサポートを提供します。

Curtis Chau
テクニカルライター

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

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