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

.NET CoreでPDFジェネレーターを作成する方法

信頼できる.NET CoreのPDFジェネレータを作るには?

信頼できる.NET CoreのPDFジェネレータを作るには? NET CoreアプリケーションでPDFドキュメントを作成するには、HTMLコンテンツを扱い、フォーマットを維持し、クロスプラットフォーム展開をサポートするPDFライブラリが必要です。 正直なところ、ASP.NET CoreのWeb APIやコンソールアプリケーションを作成する場合、堅牢な.NET Core PDFジェネレータは、さまざまなソースからのドキュメント作成プロセスを効率化します。 それは非常に時間を節約します。

無料トライアルを開始し、生産環境での重要なPDF生成のために人々がIronPDFを選ぶ理由を発見してください。

IronPDFは包括的な.NET Core PDFライブラリとして際立っています。 それはChromeレンダリングエンジンを使用して、ピクセルパーフェクトの正確さでPDFドキュメントを作成します。 このアプローチにより、複雑なPDF APIを学ぶ必要がなく、レイアウトの問題に悩むこともありません。 既存のHTMLとCSSのスキルを活用するだけで、PDFファイルを生成できます。 The library’s extensive documentation and code examples make implementation straightforward.

IronPDFは.NET CoreでのPDFドキュメントの生成をどのように簡素化しますか?

IronPDFは、伝統的に複雑だったPDF生成のタスクを、.NET開発者なら誰でも実装できる簡潔なコードに変換します。 ライブラリはChromePdfRendererクラスを使用して、HTML文字列やファイル、またはURLを直接PDF形式に変換します。 この流暢なAPIアプローチは、パフォーマンスを維持しながら、さまざまなプラットフォームにおいて広範なカスタマイズオプションを提供します。

本当の力は、IronPDFがHTMLコンテンツをプロフェッショナルなPDFファイルに変換する方法にあります。 手動で要素を配置したり描画する必要はなく、開発者は標準のHTMLとCSSスタイリングを書くだけで、ライブラリが変換をシームレスに処理します。 生成されたPDFファイルはテキストの単なる画像ではありません。 それらは全文検索可能なドキュメントであり、ユーザーがテキストを選択および検索できます。

基本的なPDF生成を超えて、IronPDFの高度な編集ツールを使用してPDFドキュメントを編集できます。 これにより、ドキュメントのマージ、透かしや注釈の追加などが可能になります。 関連するチュートリアルをチェックして、これらのツールのさらなるコード例を確認してください。

NuGetパッケージマネージャーを使ったIronPDFのインストール

Visual StudioでIronPDFを始めるには、NuGetパッケージのインストールだけで済みます。 NuGetパッケージマネージャーコンソールを開き、'Default project'ドロップダウンでプロジェクト名が選択されていることを確認し、次のコマンドを実行します。

Install-Package IronPdf

この単一のNuGetパッケージは、.NET CoreアプリケーションでPDFファイルを作成、編集、生成するために必要なすべての機能を提供します。 インストールは、自動的にWindows、Linux、Docker環境でのPDF生成にプロジェクトを設定します。 また、.NET Framework 4.6.2+、.NET Core 3.1+、および.NET Standard 2.0+など、さまざまな.NETバージョンをサポートします。

最初のPDFドキュメントをHTMLから作成する

実用的な請求書ドキュメントの例を使用してPDFドキュメントを作成しましょう。 これにより、HTMLコンテンツから適切なフォーマットとデータバインディングでPDFファイルを生成する方法を示します。

using IronPdf;
using System.IO;
using System.Text;
// Initialize the Chrome renderer
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
// Create HTML content for invoice
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");
// Example of dynamically adding table rows with a for loop
for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}
htmlBuilder.Append(@"
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>");
// Generate PDF from HTML string
PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF file
pdfObject.SaveAs("invoice.pdf");
using IronPdf;
using System.IO;
using System.Text;
// Initialize the Chrome renderer
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
// Create HTML content for invoice
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");
// Example of dynamically adding table rows with a for loop
for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}
htmlBuilder.Append(@"
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>");
// Generate PDF from HTML string
PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF file
pdfObject.SaveAs("invoice.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコードは、HTMLマークアップを動的データと結合してプロフェッショナルな請求書ドキュメントを作成します。 CSSにカスタムフォントサイズを追加し、for (int i ...) ループを使用して動的にテーブル行を生成したことに注目してください。また、

新しい段落要素も追加しました。 RenderHtmlAsPdfメソッドは、生成されたファイルを完全に制御できるPdfDocumentオブジェクトを返します。より高度なHTMLからPDFへのシナリオについては、HTMLからPDFへのチュートリアルを探索してください。

出力

以下のスクリーンショットは、我々の例の請求書が完璧にPDFドキュメント形式にレンダリングされたことを示しています。

.NET Core PDFジェネレータの作成方法: 図1 - HTMLからPDFへの例の出力

URLやWebページからのPDFファイルの生成

IronPDFは既存のWebページをPDFファイルに変換するのに優れています。 この機能は、レポートダッシュボードやWebベースのフォームからPDFドキュメントを生成する際に非常に貴重です。

// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();
// Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
// Convert a URL to PDF
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Save to file path
string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();
// Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
// Convert a URL to PDF
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Save to file path
string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ライブラリはJavaScriptの実行を処理し、画像やスタイルシートなどの外部リソースを読み込み、変換中のレスポンシブレイアウトを維持します。 これにより、既存のWebアプリケーションからのレポート作成に最適です。 URLをPDFに変換する詳細ガイドで詳しく知ることができます。

.NET Core PDFジェネレータの作成方法: 図2 - URLからPDFへの例の出力

複雑なレポートのための高度なPDF機能

プロフェッショナルなPDFドキュメントは、基本的なコンテンツ以外の追加要素を必要とすることがよくあります。 IronPDFは、ヘッダー、フッター、透かしを使用してPDFドキュメントを強化するためのメソッドを提供します。 ヘッダーとフッターAPIは、ドキュメントのプレゼンテーションを完全に制御します。

// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Add headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div>Page {page} of {total-pages}</div>"
};
// Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string formHtml = @"
    <form>
        <label>Name: 
        <label>Email: 
        <button type='submit'>Submit</button>
    </form>";
PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Add headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div>Page {page} of {total-pages}</div>"
};
// Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string formHtml = @"
    <form>
        <label>Name: 
        <label>Email: 
        <button type='submit'>Submit</button>
    </form>";
PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

この例は、すべてのページにわたって一貫したヘッダーを追加し、PDFドキュメント内にインタラクティブなフォームフィールドを作成する方法を示しています。 システムは、自動的にページ番号とフォームフィールドレンダリングを処理します。

.NET Core PDFジェネレータの作成方法: 図3 - フォームPDFの例の出力

ASP.NET Coreにおける非同期操作でのパフォーマンスの最適化

複数のPDF生成要求を処理するWebアプリケーションの場合、非同期操作により応答性が向上します。

public async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    // Generate PDF asynchronously
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    // Return as byte array for API responses
    return pdf.BinaryData;
}
// Usage in ASP.NET Core controller
[HttpPost]
public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data)
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return File(pdfBytes, "application/pdf", "invoice.pdf");
}
public async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    // Generate PDF asynchronously
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    // Return as byte array for API responses
    return pdf.BinaryData;
}
// Usage in ASP.NET Core controller
[HttpPost]
public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data)
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return File(pdfBytes, "application/pdf", "invoice.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このパターンにより、ASP.NET CoreアプリケーションはスレッドをブロックせずにPDFファイルを効率的に生成できるようになります。これは、ファイル生成が煩雑なプロセスであった従来のWeb技術(例えば古典的なASP)に比べて大幅に改善されています。 バイト配列の出力は、クライアントにファイルを直接返す必要があるAPIエンドポイントに対して完全に機能します。

File()メソッドがPDFを正しいapplication/pdfコンテントタイプで返し、ブラウザが応答を正しく処理することに注目してください。 大規模なPDFドキュメントや多くの同時要求を処理する場合、この非同期アプローチにより、最適なシステムパフォーマンスが維持されます。 非同期パターンに関するさらなる洞察については、公式ASP.NET Coreドキュメントを参照してください。

展開の考慮事項

IronPDFは多様な環境における展開をサポートします。 Dockerコンテナの場合、必要な依存関係をDocker展開ガイドに記載されているようにDockerfileに含めることを確認してください。 ライブラリは、Windows Server、Linuxディストリビューション、およびAzureやAWSのようなクラウドプラットフォームでシームレスに機能します。 各環境はフォントやレンダリングのための特定の設定を必要とすることがありますが、基本的なAPIは一貫しています。 .NET Core展開に関するMicrosoftドキュメントは、プロダクション環境向けの追加のベストプラクティスを提供します。

今日からPDFジェネレータの構築を始めましょう

IronPDFは、.NET CoreでのPDF生成を複雑な課題から簡単な実装に変えます。 HTMLコンテンツのサポート、豊富な機能セット、および一貫したクロスプラットフォームの動作により、信頼性の高いPDFドキュメントを生成する必要がある開発者にとって理想的な選択肢です。

自分のPDFドキュメントジェネレータを実装する準備はできましたか? 無料トライアルで制限なしで全ての機能を探求してください。 ドキュメンテーションには、プロフェッショナルなPDFファイルを作成するための豊富な例とガイドがあります。 請求システムの構築、複雑なレポートの生成、または既存のWebコンテンツの変換に関係なく、IronPDFはピクセルパーフェクトな結果を提供するためのツールを提供します。

プロダクション展開に備えて、ライセンスオプションの探求を行い、プロジェクトの規模に合ったものを見つけてください。 質の高いPDFライブラリへの投資は、開発時間の削減と全ての.NETアプリケーションでの一貫したプロフェッショナルな出力において配当をもたらします。

よくある質問

信頼できる.NET Core PDF生成器の主な機能は何ですか?

信頼できる.NET Core PDF生成器は、HTMLからPDFへの変換、さまざまなファイル形式のサポート、高品質のレンダリング、請求書やレポートの生成の容易さなどの機能を提供する必要があります。IronPDFはこれらの機能を提供し、ピクセル単位で完璧なPDF出力を保証します。

.NET CoreでHTMLをPDFに変換するにはどうすればよいですか?

IronPDFのHTMLからPDFレンダリング機能を活用することで、.NET CoreでHTMLをPDFに変換できます。これにより、ウェブページ、HTML文字列、またはローカルHTMLファイルを正確なPDFドキュメントに変換できます。

IronPDFを使用して.NET Coreで請求書を作成できますか?

はい、IronPDFを使用して.NET Coreで請求書を作成できます。IronPDFには、HTMLテンプレートからPDFドキュメントを生成する機能があり、プロフェッショナルな請求書をデザインし作成するのが容易です。

IronPDFを使用して.NET Coreでレポートを生成することは可能ですか?

もちろんです。IronPDFは.NET Coreで詳細なレポートを生成するために使用でき、HTMLコンテンツをPDF形式に変換することで、視覚的に魅力的で共有しやすいレポートを確保できます。

IronPDFはピクセル単位のレンダリングをサポートしていますか?

はい、IronPDFはピクセル単位のレンダリングをサポートしており、作成されたPDFが元のHTMLデザインとレイアウトに完全に一致することを保証します。これはドキュメントのプレゼンテーションの整合性を維持するために重要です。

IronPDFは.NET Coreでどのようなファイル形式を処理できますか?

IronPDFは、.NET CoreでHTML、画像、ASPXファイルをPDFに変換するなど、さまざまなファイル形式を処理できます。プロジェクトのニーズに応じた柔軟性を提供します。

IronPDFはどのようにして高品質のPDF出力を保証しますか?

IronPDFは、高度なレンダリング技術を採用し、広範なフォントやスタイルをサポートすることで、高品質なPDF出力を確保し、プロフェッショナルで正確なPDF文書を実現します。

IronPDFは.NET Coreでマーケティング素材を作成するのに適していますか?

はい、IronPDFは.NET Coreでマーケティング素材を作成するのに適しています。そのリッチなHTMLコンテンツ、CSSスタイルの要素を含むPDFへの変換能力により、パンフレットやチラシを作成するのに理想的です。

IronPDFを使用して生成されたPDFドキュメントのレイアウトをカスタマイズできますか?

IronPDFは、PDFドキュメントのレイアウトをHTMLとCSSで広範囲にカスタマイズすることを可能にし、PDFファイルのデザインと構造を自由に設定できます。

NET CoreでのPDF生成にIronPDFを使用するメリットは何ですか?

NET CoreでのPDF生成にIronPDFを使用するメリットは、使いやすさ、包括的なドキュメント、HTMLからPDFへの変換の強力なサポート、効率的にプロフェッショナル品質の文書を作成できる能力が含まれます。

IronPDF は .NET 10 と完全に互換性がありますか?

はい。IronPDF は .NET 10 上でシームレスに実行され、.NET 6、7、8、9 などの以前のバージョンと同様に、豊富な PDF 生成、編集、レンダリング機能を提供します。また、Web、デスクトップ、コンソール、MAUI などの新しい .NET 10 パフォーマンスの向上とプロジェクト タイプをサポートしています。

Curtis Chau
テクニカルライター

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

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