IRONSOFTWAREHOME
IRONPDFの使用

ASP.NETコアビューアでPDFを表示、保存、印刷する方法

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

IronPDF は、サーバー側で PDF を生成し、ブラウザーの組み込み PDF ビューアーを活用することで、 ASP.NET Coreアプリケーションでシームレスな PDF 表示を可能にし、プラグインの必要性を排除しながら、Docker コンテナーとクラウド環境でのクロスプラットフォーム展開をサポートします。

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

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

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

IronPDFは、このブラウザー機能を活用して、高品質なPDFをサーバー側で生成します。ChromePdfRenderer クラスを使用します。 レンダラーは完全な Chrome エンジンを内部で使用しており、最新のCSSJavaScriptデジタル署名Web フォントを完全にサポートし、ドキュメントが意図したとおりに表示されることを保証します。 単純なドキュメント ビューアとは異なり、 IronPDF はPDF の処理とレンダリングを完全に制御できます。

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

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

dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
SHELL

.NETプロジェクトにIronPDFをインストールするにはどうすればよいでしょうか?

プロジェクトにNuGetパッケージ マネージャー経由でIronPDFをインストールします。

PM > Install-Package IronPdf

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

これで必要なセットアップは完了です。 IronPDF は、 .NET 6、7、8 を含むASP.NET Core 3.1 以降 (長期サポート バージョン) とシームレスに動作します。ライブラリは、最新のフレームワークとの互換性を確保するために頻繁に更新されます。 詳細なインストール手順については、 IronPDFインストール ガイドをご覧ください。 パッケージには、 PDF の生成編集、処理に必要なすべてのコンポーネントが含まれています。 Dockerデプロイメントの場合、IronPDFは最適化されたコンテナイメージを提供し、コンテナ化された環境を管理するDevOpsエンジニアにとって重要な考慮事項となるデプロイメントの複雑性を最小化します。

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");
    }
}

このコードはChromePdfRendererインスタンスを作成し、背景色を含めて配置し、HTMLフォームをPDFフォームに変換するように構成します。 RenderHtmlAsPdfメソッドはHTML文字列をPDFに変換します。 application/pdf MIMEタイプでPDFを返すと、ブラウザーがそれをダウンロードするのではなくインラインで表示するように指示します。 このサーバー側のアプローチにより、すべてのブラウザーとプラットフォーム間で一貫したレンダリングが保証されます。これは、Azure デプロイメントAWS Lambda 環境の信頼性を維持するために不可欠です。

出力

簡単な請求書文書を表示するPDFビューアインターフェース。請求書番号は12345で、日付は2025-10-30です。ASP.NET Core PDFビューアは、ページナビゲーションコントロールとツールバーのズームオプションを備えたレンダリングされた請求書文書を正常に表示します。

既存の HTML ファイルまたはRazorページの場合は、代替のレンダリング方法を使用できます。

// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_58___");
// 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");
// For containerized applications, use environment-specific paths
var basePath = Environment.GetEnvironmentVariable("APP_BASE_PATH") ?? "wwwroot";
var pdf = renderer.RenderHtmlFileAsPdf($"{basePath}/templates/report.html");

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

マイクロサービスアーキテクチャを管理するDevOpsエンジニアにとって、IronPDFのネイティブエンジンとリモートエンジンアーキテクチャがデプロイメントの柔軟性を提供します。 リモート エンジン オプションを使用すると、PDF レンダリングを専用サービスに分離して、リソース使用率を向上させ、水平スケーリングが可能になります。

ブラウザからユーザーが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");
}

// Health check endpoint for container orchestration
[HttpGet("/health/pdf-generator")]
public IActionResult HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<p>Health Check</p>");
        return Ok(new { status = "healthy", timestamp = DateTime.UtcNow });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}

ファイル名パラメータを追加すると、Content-Dispositionヘッダーが自動的に"attachment"に設定され、ブラウザーはファイルのダウンロードを促します。ユーザーはまた、自分のブラウザーの保存機能(Ctrl+SまたはPDFビューアツールバー)を使用してインラインで表示されたPDFを保存することもできます。 上記のヘルスチェック エンドポイントは、Kubernetes のデプロイメントとコンテナ オーケストレーション プラットフォームにとって非常に重要であり、PDF サービスの応答性を確保します。

出力

"Download Me"というテキストとIronPDF for .NETのロゴが含まれたドキュメントを 100% ズームでブラウザーに表示した PDF ビューアー。 PDF ビューアは、 IronPDF for .NETを通じてダウンロード機能が有効になっている、生成された請求書ドキュメントを正常に表示します。

大きな 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");
}

// Async streaming for better resource utilization
public async Task<IActionResult> StreamPdfAsync()
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal container performance
    renderer.RenderingOptions.Timeout = 60000; // 60 seconds for complex documents
    renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute
    
    var html = await LoadHtmlTemplateAsync();
    var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));
    
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "async-document.pdf");
}

このアプローチでは、中間バイト配列を作成せずに PDF を応答に直接ストリーミングすることで、メモリの消費量を削減します。 wwwroot フォルダーから既存の PDF を読み込んで編集し、変更されたバージョンをストリーミングすることもできます。 高度なPDF ドキュメント操作および画像処理については、 PdfDocument API リファレンスを参照してください。 このコンポーネントは、テキストの選択フォームの入力デジタル署名の追加など、さまざまな編集操作をサポートしています。

コンテナのデプロイメントでは、非同期 PDF 生成アプローチによりスレッドのブロックが防止され、アプリケーションのスループットが向上します。これは、オーケストレーションされた環境で応答性の高いサービスを維持するために重要です。

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");
}

// Container-optimized configuration
public IActionResult ConfigureForContainer()
{
    var renderer = new ChromePdfRenderer();
    // Disable GPU for container compatibility
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.RenderDelay = 0; // No artificial delays
    renderer.RenderingOptions.Timeout = 30000; // 30 second timeout
    
    // Use environment variables for configuration
    var printDpi = int.Parse(Environment.GetEnvironmentVariable("PDF_PRINT_DPI") ?? "300");
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;
    
    return Ok("Configured for container environment");
}

Printに設定すると、印刷専用のCSSスタイルが適用され、印刷時にドキュメントが正しく見えるようにします。 マージン設定により、物理的な紙に適切なスペーシングが提供されます。 ユーザーは、標準の印刷ダイアログを使用してブラウザの PDF ビューアから直接PDF を印刷することができ、プリンタの選択と設定を完全に制御できます。 出力を微調整するためのPDF レンダリング オプションの詳細について説明します。

印刷に最適化されたドキュメントを表示する PDF ビューア インターフェイス。白いページの中央に"このドキュメントは印刷用に最適化されています"というメッセージが表示されます。 PDF ビューアは、ドキュメントが印刷用に最適化されると確認メッセージを表示し、ユーザーがファイルが高品質の出力の準備ができていることを確実に知らせます。

IronPDF はクロスプラットフォームおよびコンテナーのデプロイメントをどのようにサポートしますか?

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

複数のバージョン、オペレーティング システム、クラウド プラットフォーム、開発環境にわたる.NET の互換性を示すクロスプラットフォーム サポート図。 IronPDF の包括的なクロスプラットフォーム サポートには、 .NET 9 から Framework 4.6.2+ までの互換性が含まれ、Windows、Linux、Mac で実行され、主要なクラウド プロバイダーおよび開発ツールと統合されます。

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

本番環境のコンテナのデプロイメントでは、次の Dockerfile の例を検討してください。

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80

# Install IronPDF dependencies for Linux
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6 \
    && rm -rf /var/lib/apt/lists/*

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["PdfViewerApp.csproj", "./"]
RUN dotnet restore "PdfViewerApp.csproj"
COPY . .
RUN dotnet build "PdfViewerApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "PdfViewerApp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "PdfViewerApp.dll"]
Text

今すぐ無料トライアルを開始して、ドキュメント ビューアーの機能を変革しましょう。

ASP.NET Core PDF 表示にIronPDFを使用する主な利点は何ですか?

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

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

ライブラリのタグ ヘルパー統合と広範なドキュメントにより、実装が簡単になります。 バックエンド処理で複雑なPDF 生成タスクを処理している間、プロジェクトでは PDF を直接表示できます。 ビューアは、wwwroot フォルダーから読み込む場合、動的に生成する場合、または外部ソースから取得する場合の一貫した動作を維持します。 ビルトインテーマサポートとカスタマイズ可能な幅設定により、アプリケーションのデザインに完璧にマッチします。 DevOpsチーム向けに、IronPDF Slimパッケージは、展開サイズを削減し、調整された環境でのコンテナサイズの制約に対応します。

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

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

Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

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
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。