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

.NET CoreでPDFファイルを生成する方法

PDFドキュメントの作成は、請求書、レポート、その他のビジネス文書のPDFファイルを生成する必要のあるWebアプリケーションを構築する開発者にとって一般的な作業です。 IronPDFは、毎回ピクセルパーフェクトなPDFを提供するChromeレンダリングエンジンを通じてASP.NET CoreでのPDF生成を簡素化する強力なPDFライブラリを提供します。この記事では、.NET環境でさまざまなPDF生成タスクをどのように処理するかを見ていきます。

DotNet CoreでPDFファイルを生成する方法、どのように機能しますか?

IronPDFは、Google Chromeに基づくWebKitレンダリングエンジンを使用してHTMLコンテンツをPDFファイルにレンダリングします。 PDF作成へのこのアプローチにより、複雑なPDF生成機能を学んだり、急な学習曲線に苦労せずに、既存のHTMLマークアップとCSS知識を活用してPDFを作成できます。 このPDFライブラリはWebページからPDFドキュメントを自動生成します。

ライブラリの流れるようなAPIにより、開発者はHTMLページ、URL、またはHTMLコンテンツ文字列からPDFドキュメントを生成できます。 HTMLをPDFに変換する際、IronPDFは複雑なレイアウト、CSSスタイリング、JavaScriptの実行、さらには動的コンテンツに依存するWebコンテンツを保持します。 これにより、.NETアプリケーションの機能豊富なPDF変換機能が必要な.NET開発者に最適なツールになります。 .NETライブラリは、完璧な精度でPDFファイルを生成するのに優れています。

NuGet パッケージマネージャーを介して IronPDF をインストールする方法?

IronPDFを始めるには、NuGet パッケージ マネージャーを通じてのシングルコマンドラインツールのインストールのみが必要です。 Visual Studioでパッケージマネージャーコンソールを開き、次のコマンドを実行します。

Install-Package IronPdf

HTML文字列からPDFドキュメントを生成する方法?

PDFドキュメントを作成する最も簡単な方法は、HTMLコンテンツを直接変換することです。 以下は、PDFファイルを生成する方法を示す基本的な「Hello World」例です。

using IronPdf;

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("hello.pdf");
using IronPdf;

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("hello.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上記のコードでは、わずか数行のコードで新しいPDFドキュメントを作成しました。 ChromePdfRendererクラスはHTMLからPDFファイルを生成するためのコア機能を提供します。 pdfオブジェクトには、ファイルパスに保存する準備が整ったPDFドキュメントが含まれています。

高度なHTMLからPDFへの変換

HTMLマークアップとCSSスタイリングを用いて請求書ドキュメントを作成することで、HTMLからPDFへの機能を示すより詳細な例を見てみましょう。

using IronPdf;

var html = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; font-size: 14px; }
        .invoice-header { 
            background-color: #2c3e50; 
            color: white; 
            padding: 20px;
            font-family: 'Helvetica', sans-serif;
        }
        .invoice-details { margin: 20px 0; }
        table { width: 100%; border-collapse: collapse; }
        th, td {
            padding: 12px; 
            text-align: left; 
            border-bottom: 1px solid #ddd;
        }
        .total { 
            font-size: 1.2em; 
            font-weight: bold; 
            text-align: right;
        }
    </style>
</head>
<body>
    <div class='invoice-header'>
        <h1>Invoice #2024-001</h1>
        <p>Date: January 15, 2024</p>
    </div>
    <div class='invoice-details'>
        <h3>Bill To: John Doe</h3>
        <table>
            <tr>
                <th>Item</th>
                <th>Quantity</th>
                <th>Price</th>
            </tr>
            <tr>
                <td>Professional License</td>
                <td>1</td>
                <td>$749</td>
            </tr>
        </table>
        <p class='total'>Total: $749.00</p>
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
// Configure rendering options for the PDF document
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
using IronPdf;

var html = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; font-size: 14px; }
        .invoice-header { 
            background-color: #2c3e50; 
            color: white; 
            padding: 20px;
            font-family: 'Helvetica', sans-serif;
        }
        .invoice-details { margin: 20px 0; }
        table { width: 100%; border-collapse: collapse; }
        th, td {
            padding: 12px; 
            text-align: left; 
            border-bottom: 1px solid #ddd;
        }
        .total { 
            font-size: 1.2em; 
            font-weight: bold; 
            text-align: right;
        }
    </style>
</head>
<body>
    <div class='invoice-header'>
        <h1>Invoice #2024-001</h1>
        <p>Date: January 15, 2024</p>
    </div>
    <div class='invoice-details'>
        <h3>Bill To: John Doe</h3>
        <table>
            <tr>
                <th>Item</th>
                <th>Quantity</th>
                <th>Price</th>
            </tr>
            <tr>
                <td>Professional License</td>
                <td>1</td>
                <td>$749</td>
            </tr>
        </table>
        <p class='total'>Total: $749.00</p>
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
// Configure rendering options for the PDF document
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

この例は、フォントサイズやフォントファミリー設定を含むCSSスタイリングを用いた複雑なレイアウトをIronPDFが処理できることを実演しています。 PDFライブラリはHTMLマークアップを処理し、HTMLページの正確な外観を維持するPDFドキュメントを作成します。 上記のコードは、ASP.NET Coreアプリケーションがビジネス文書のためにPDF出力を生成する方法を示しています。

出力

Dotnet CoreにおけるPDFファイルの生成方法: 図1 - HTMLからPDFへの出力PDFファイル

WebページをPDFファイルに変換する方法?

IronPDFは、実際のWebページからPDFを生成するのに優れています。 この機能は、動的にWebコンテンツをキャプチャする必要があるASP.NET Core Webアプリケーションに特に役立ちます。 PDFライブラリは任意のURLからPDFファイルを生成できます。

using IronPdf;

var renderer = new ChromePdfRenderer();
// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://example.com");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://example.com");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

.NETライブラリは、JavaScriptの実行、外部リソース、およびレスポンシブデザインをPDFファイルを生成する際に自動的に処理します。 rendererオブジェクトは、WebページをPDFファイルに変換する方法をカスタマイズするための高度な機能にアクセスを提供します。

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait for dynamic content

// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait for dynamic content

// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これらのカスタマイズオプションにより、動的コンテンツがPDF変換前に完全に読み込まれるようにし、正確なPDFファイルが生成されます。 上記のコードは、ASP.NET CoreがWebページから完璧なレンダリングでPDFを生成する方法を示しています。

Dotnet CoreにおけるPDFファイルの生成方法: 図2 - WebページとそのWebページからレンダリングされたPDFの比較

ASP.NET Core WebアプリケーションでPDFドキュメントを作成する方法?

ASP.NET CoreアプリケーションにPDF生成を統合することは簡単です。 PDFライブラリは、ASP.NET Coreのコントローラーとシームレスに連携してPDFドキュメントを生成します。 こちらはPDFファイルを作成するAPIエンドポイントの例です。

using Microsoft.AspNetCore.Mvc;
using IronPdf;

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate-report")]
    public IActionResult GenerateReport()
    {
        var html = @"
            <h1>Monthly Sales Report</h1>
            <p>Generated on: " + DateTime.Now.ToString() + @"</p>
            <table>
                <tr><th>Product</th><th>Sales</th></tr>
                <tr><td>Product A</td><td>$5,000</td></tr>
                <tr><td>Product B</td><td>$3,500</td></tr>
            </table>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF file to browser
        return File(pdf.BinaryData, "application/pdf", "output.pdf");
    }
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate-report")]
    public IActionResult GenerateReport()
    {
        var html = @"
            <h1>Monthly Sales Report</h1>
            <p>Generated on: " + DateTime.Now.ToString() + @"</p>
            <table>
                <tr><th>Product</th><th>Sales</th></tr>
                <tr><td>Product A</td><td>$5,000</td></tr>
                <tr><td>Product B</td><td>$3,500</td></tr>
            </table>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF file to browser
        return File(pdf.BinaryData, "application/pdf", "output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコントローラーアクションは新しいドキュメントを作成し、PDFファイルをブラウザに直接送信します。 returnステートメントは、.NET Coreフレームワークのビルトインファイルレスポンス処理を利用しています。 ASP.NET Core Webアプリケーションは、レポート、請求書、その他の文書のために簡単にPDFを生成できます。

出力PDFファイル

Dotnet CoreにおけるPDFファイルの生成方法: 図3 - ASP.NETで作成されたPDF

MVCアプリケーションのために、RazorビューからHTMLをレンダリングしてPDFを作成することもできます。

[HttpGet]
public async Task<IActionResult> DownloadInvoice(int id)
{
    // Get invoice data from database
    var model = await GetInvoiceData(id);
    // Render Razor view to HTML string
    var html = await RenderViewToString("Invoice", model);
    // Convert HTML to PDF document
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return PDF file with appropriate file path
    return File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
}
[HttpGet]
public async Task<IActionResult> DownloadInvoice(int id)
{
    // Get invoice data from database
    var model = await GetInvoiceData(id);
    // Render Razor view to HTML string
    var html = await RenderViewToString("Invoice", model);
    // Convert HTML to PDF document
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return PDF file with appropriate file path
    return File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコード例は、RazorテンプレートからのPDFドキュメント生成のためにASP.NET CoreがIronPDFと統合する方法を示しています。 ビューからレンダリングされたページがプロフェッショナルなPDFドキュメントとなります。

結論

IronPDFは、.NET CoreでのPDFドキュメント生成をシンプルで効率的なプロセスに変えます。 そのChromeレンダリングエンジンは、HTMLコンテンツからのPDFファイル生成の際に完璧な忠実さを保証し、直感的なAPIは通常PDF操作に伴う学習曲線を排除します。 PDFライブラリは、良好なドキュメントと活発に保守されているASP.NET Core開発者用サポートを提供します。

商業利用のためのPDFを作成する場合でも、エンタープライズWebアプリケーションを構築する場合でも、IronPDFは商業用ライセンスオプションと共にプロフェッショナルなPDF作成に必要なツールを提供します。 開発者はIronPDFの使いやすさとレンダリング品質を一貫して賞賛しています。

今日から無料トライアルを開始し、あらゆる規模のチーム向けにデザインされたライセンスオプションをご利用ください。

よくある質問

.NET CoreでPDFドキュメントを生成するにはどうすればよいですか?

IronPDF を使用して .NET Core で PDF ドキュメントを生成できます。このエンジンでは、HTML、URL、Razor ビューから PDF を作成することができ、Chrome の高度なレンダリング エンジンを利用しています。

PDF生成にIronPDFを使用する利点は何ですか?

IronPDF は統合の容易さ、ピクセル パーフェクト レンダリングのサポート、HTML や URL などのさまざまなソースからの PDF の作成機能など、多くの利点を提供し、PDF 生成を必要とする Web アプリケーションの構築に最適です。

IronPDFは複雑なPDF生成タスクを処理できますか?

はい、IronPDF は .NET 環境で複雑な PDF 生成タスクを処理するように設計されており、開発者に詳細で正確な PDF ドキュメントを作成するために必要なツールを提供します。

IronPDF における Chrome レンダリング エンジンの役割は何ですか?

IronPDF の Chrome レンダリング エンジンは、生成された PDF がピクセル パーフェクトで、元の HTML または Web コンテンツの忠実性を維持することを保証します。

IronPDF は請求書やレポートのようなビジネス ドキュメントを生成するのに適していますか?

もちろん、IronPDFは正確なレンダリングと多様なドキュメント形式のサポートを提供し、ビジネスドキュメント生成に非常に適しています。

IronPDF はどのような入力を PDF に変換できますか?

IronPDF は HTML、URL、Razor ビューなどの入力を PDF ドキュメントに変換でき、コンテンツ作成に柔軟性を提供します。

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

はい、IronPDF は ASP.NET Core アプリケーションと完全に互換性があり、開発者が Web プロジェクトに PDF 生成機能をシームレスに統合できるようにします。

Web アプリケーションにおける IronPDF の一般的な使用例は何ですか?

IronPDF の一般的な使用例には、Web アプリケーションが必要とする請求書、レポート、およびその他のビジネス文書の PDF 生成が含まれます。

Curtis Chau
テクニカルライター

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

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