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

C# PDFWriterを使用してPDFを作成する方法

C#でプログラムでPDFドキュメントを作成することは、かつては頭痛の種でした。 ほとんどのC#PDFWriterソリューションは、単純なPDFファイルを作成するだけでも複雑なAPIと多くのボイラープレートコードを伴います。 以前のオープンソースライブラリを試したことがあるなら、そのフラストレーションを知っているでしょう。

IronPDFは、それら全てを変えます。 わずか数行のコードで、低レベルな詳細に対処することなくPDFドキュメントを作成し、新しいページ、段落、画像、ヘッダー、ページ番号を追加し、それらを保存できます。

この記事では、IronPDFのドキュメントオブジェクト、ChromePdfRenderer、PDF生成メソッドを使用して、.NET Frameworkや.NET CoreでVisual Studioから直接プロフェッショナルなPDFドキュメントを作成する方法を紹介します。 最後には、独自のPDFファイルを生成する準備が整います。 それが迅速な「Hello World」のテストであろうと、完全な請求書であろうと。

C#のPDFWriterとは何ですか?

PDFWriterは、開発者がプログラムでPDFドキュメントを生成し、段落、画像、ヘッダーを追加し、ページを操作できるドキュメントオブジェクトです。 従来のライブラリは、手動の位置決め、複雑な計算、および明示的なリソース管理を必要とすることが多いです。

IronPDFはこれらすべてを簡素化します。 HTMLコンテンツ、CSSを使用して、静的void Main(string[] args)のような親しみやすいC#環境、またはMemoryStreamのような標準クラスを使用するシンプルなコードでPDFドキュメントを作成できます。

iTextSharpのようなライブラリにはPdfWriterというクラスがありますが、C#では、PDFWriterという用語は一般的にプログラムでPDFドキュメントを生成する任意のコンポーネントまたはライブラリを指します。

低レベルの操作から高レベルの生成に移行することで生産性が向上します。 Visual StudioまたはIDEで新しいPDFDocumentインスタンスを使用すれば、最小限のコードでPDFを作成できます。

以下に示すように、iTextSharpのような従来のPDFWriterライブラリは多くのボイラープレートが必要ですが、IronPDFはわずか数行で同じPDFドキュメントを作成します。速く、簡単で、エラープローンが少ないです。

C#プロジェクトにIronPDFをインストールする方法は?

IronPDFを使い始めるのに1分もかかりません。 最も簡単なインストール方法はNuGetパッケージマネージャーを使用することです:

Install-Package IronPdf

または、Visual Studioで:

  1. ソリューションエクスプローラーでプロジェクトを右クリック
  2. "NuGetパッケージの管理" を選択 3.「IronPDF」を検索
  3. インストールをクリック

プラットフォーム固有の詳細なインストールについては、IronPDFのインストールガイドを確認してください。

IronPDFで最初のPDFを作成する方法は?

従来のPDFWriterの実装とは異なり、IronPDFでは別のPDFWriter変数クラスを必要としません。 レンダラとPdfDocumentオブジェクトがすべての書き込みタスクを内部で処理します。 こちらが完全な作業例です:

using IronPdf;
// Instantiate the PDF renderer
var renderer = new ChromePdfRenderer();
// Create PDF from HTML string
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is my first PDF!</p>");
// Save the PDF
pdf.SaveAs("output.pdf");
using IronPdf;
// Instantiate the PDF renderer
var renderer = new ChromePdfRenderer();
// Create PDF from HTML string
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is my first PDF!</p>");
// Save the PDF
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ChromePdfRendererは内部での複雑さをすべて処理し、新しいドキュメントにコンテンツをピクセル完璧にレンダリングします。

注意:IronPDFのメソッドとドキュメントオブジェクトの機能を活用して、わずか数行で画像、新しいページ、ヘッダー、新しい段落を簡単に追加できます。

HTMLをPDFドキュメントに変換する方法

IronPDFの真の力は、複雑なPDFドキュメントの生成にあります。 既存のウェブページからHTMLをPDFに変換する場合でも、動的レポートを作成する場合でも、HTMLからPDFへの変換は完全な忠実性を維持します。

// Convert a URL to PDF
var urlPdf = renderer.RenderUrlAsPdf("https://example.com");
urlPdf.SaveAs("website.pdf");
// Convert an HTML file with IronPDF's PDF writer
var filePdf = renderer.RenderHtmlFileAsPdf("example-invoice.html");
filePdf.SaveAs("invoice.pdf");
// Use advanced rendering options for your C# PDF generator
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.EnableJavaScript = true;
// Convert a URL to PDF
var urlPdf = renderer.RenderUrlAsPdf("https://example.com");
urlPdf.SaveAs("website.pdf");
// Convert an HTML file with IronPDF's PDF writer
var filePdf = renderer.RenderHtmlFileAsPdf("example-invoice.html");
filePdf.SaveAs("invoice.pdf");
// Use advanced rendering options for your C# PDF generator
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.EnableJavaScript = true;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

レンダラは完全なCSS3、JavaScriptの実行、レスポンシブレイアウトをサポートしています。 これにより、PDFが意図した通りに見えることが保証されます。 レンダリングオプションについての詳細は、IronPDFのドキュメントを参照してください。

HTMLファイル出力

C#PDFWriterでPDFを作成する方法:図5 - PDFドキュメントにレンダリングされる前後のHTMLファイル

実際の使用例:IronPDFでPDFドキュメントを生成する

C#での実際のPDF生成はしばしば動的データを伴います。 IronPDFのPDF作成APIを使用してプロフェッショナルな請求書を作成する方法を示します。 下記のコードは請求書のexampleテンプレートです。

string invoiceHtml = $@"
    <html>
    <head>
        <style>
            body {{ font-family: Arial; }}
            .header {{ background: #f0f0f0; padding: 20px; }}
            .total {{ font-weight: bold; font-size: 18px; }}
        </style>
    </head>
    <body>
        <div class='header'>
            <h1>Invoice #{invoiceNumber}</h1>
            <p>Date: {DateTime.Now:yyyy-MM-dd}</p>
        </div>
        <table>
            <tr><td>Product</td><td>Quantity</td><td>Price</td></tr>
            {GenerateLineItems()}
        </table>
        <p class='total'>Total: ${totalAmount:F2}</p>
    </body>
    </html>";
// Use IronPDF's C# PDF writer to create the document
var invoicePdf = renderer.RenderHtmlAsPdf(invoiceHtml);
invoicePdf.SaveAs($"invoice-{invoiceNumber}.pdf");
string invoiceHtml = $@"
    <html>
    <head>
        <style>
            body {{ font-family: Arial; }}
            .header {{ background: #f0f0f0; padding: 20px; }}
            .total {{ font-weight: bold; font-size: 18px; }}
        </style>
    </head>
    <body>
        <div class='header'>
            <h1>Invoice #{invoiceNumber}</h1>
            <p>Date: {DateTime.Now:yyyy-MM-dd}</p>
        </div>
        <table>
            <tr><td>Product</td><td>Quantity</td><td>Price</td></tr>
            {GenerateLineItems()}
        </table>
        <p class='total'>Total: ${totalAmount:F2}</p>
    </body>
    </html>";
// Use IronPDF's C# PDF writer to create the document
var invoicePdf = renderer.RenderHtmlAsPdf(invoiceHtml);
invoicePdf.SaveAs($"invoice-{invoiceNumber}.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このアプローチはHTMLテンプレートの柔軟性とPDF出力の信頼性を結び付け、請求書、レポート、証明書、その他のビジネス文書の生成に理想的です。 ASP.NETでのPDFレポートの作成について詳細をご覧ください。

出力

C#PDFWriterでPDFを作成する方法:図6 - 生成されたPDF請求書の出力

使いやすいPDFWriterを拡張する先進的な機能は何ですか?

IronPDFは、基本的なPDF作成を超えて企業向けの機能を提供します:

  • ヘッダー&フッター:HtmlHeaderFooterを使用してページ番号とブランディングを追加
  • デジタル署名:暗号化署名で文書を保護
  • 透かし:ApplyStamp()を使用して新しい画像またはカスタムテキストの透かしを追加
  • 暗号化:パスワードセキュリティで機密コンテンツを保護
  • フォームフィールド:インタラクティブ要素を持つ記入可能なPDFフォームを作成
  • ページ操作:ページを簡単に結合、分割、カスタムページサイズを作成し、回転

こちらはC#PDFドキュメントにページ番号を含むヘッダーを追加するための実用的な例です:

// Configure headers for your .NET PDF writer
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>",
    MaxHeight = 25
};
// Add page numbers to PDF programmatically
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
    MaxHeight = 20
};
// Configure headers for your .NET PDF writer
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>",
    MaxHeight = 25
};
// Add page numbers to PDF programmatically
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
    MaxHeight = 20
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

これを使用すると、フッターにページ番号を持ち、カスタムヘッダーを持つPDFファイルを生成できます。 これを示すために、HTML文字列からシンプルな複数ページのPDFを作成します:

// Generate long HTML content to create multiple pages for demonstration
// Multi-page HTML with explicit page breaks
string multiPageHtml = "";
for (int i = 1; i <= 5; i++) // 5 pages
{
    multiPageHtml += $@"
            <div style='page-break-after: always;'>
                <h1>Section {i}</h1>
                <p>This is section {i} of the report. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
                This content will appear on its own page thanks to the CSS page-break.</p>
            </div>";
}
//render HTML string a PDF
var multipagePdf = renderer.RenderHtmlAsPdf(multiPageHtml);
//save PDF
multipagePdf.SaveAs("multiPageReport.pdf");
// Generate long HTML content to create multiple pages for demonstration
// Multi-page HTML with explicit page breaks
string multiPageHtml = "";
for (int i = 1; i <= 5; i++) // 5 pages
{
    multiPageHtml += $@"
            <div style='page-break-after: always;'>
                <h1>Section {i}</h1>
                <p>This is section {i} of the report. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
                This content will appear on its own page thanks to the CSS page-break.</p>
            </div>";
}
//render HTML string a PDF
var multipagePdf = renderer.RenderHtmlAsPdf(multiPageHtml);
//save PDF
multipagePdf.SaveAs("multiPageReport.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

出力 with Page Numbers

C#PDFWriterでPDFを作成する方法:図7 - 上記のコード例からのPDF出力

C#のPDF生成ニーズにIronPDFを選ぶ理由は?

IronPDFは、C#でのPDF生成を簡単で信頼性のあるものにします。 専用のPdfWriterクラスは必要ありません。 代わりにIronPDFでは、レンダラとPdfDocumentオブジェクトがHTMLコンテンツからページサイズ、ヘッダー、フッターまで全てを処理します。 請求書、レポート、またはMicrosoft Office統合用の証明書を作成する場合でも、IronPDFを使用するとわずか数行のコードで仕事を完了できます。

良好な文書、強力なサポートオプション、および無料トライアルバージョンにより、始めるのは簡単です。 新しいPDFドキュメントを試したり、画像を追加したり、フォントサイズとページレイアウトを調整したりすることができます。 IronPDFは、技術的な雑用からPDF作成をスムーズで生産的なワークフローに変えます。

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

C#PDFライターワークフローの近代化を始める準備はできましたか? 無料トライアルを開始して、IronPDFが.NETでのPDF作成をどのように簡素化するかを体験してください。 包括的なドキュメントと対応の良いサポートを備えたあなたは、分でプロフェッショナルなPDFを生成することになります、時間ではなく。

IronPDFを使って今日あなたのドキュメント作成を変革し、すでにC#での現代的なPDF生成に切り替えた何千もの開発者に参加してください。

よくある質問

C# PDFWriter とは何ですか?

C# PDFWriter は、C# プログラミング言語を使用してプログラムによって PDF ドキュメントを作成できるツールです。

開発者はなぜ C# PDFWriter を選ぶべきなのか?

開発者は、複雑な API やボイラープレートコードの必要性を減らして PDF 作成プロセスを簡素化するため、C# PDFWriter を選ぶべきです。

IronPDF は C# の PDF 作成をどのように向上させますか?

IronPDF は、C# アプリケーション内で直接 PDF ドキュメントを生成、操作、カスタマイズするのを容易にする、簡素化された API を提供します。

古いオープンソースライブラリはどのような課題を呈しますか?

古いオープンソースライブラリは通常、複雑な API を持ち、大量のボイラープレートコードを必要とするため、PDF 作成が厄介で時間のかかるものになります。

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

はい、IronPDF は単純で複雑なPDF 作成タスクの両方を効率的に処理でき、多くのカスタマイズおよび自動化の機能を備えています。

IronPDF を他の PDF ライブラリよりも使用する利点は何ですか?

IronPDF は使いやすい API、包括的なドキュメント、および開発時間を短縮し PDF 出力品質を向上させる堅牢な機能を提供します。

IronPDF は C# 開発に初めて取り組む人にも適していますか?

はい、IronPDF は初学者に適しており、分かりやすいコード例と豊富なサポートリソースを提供することで PDF 作成を簡単にします。

IronPDFはどのように.NETアプリケーションと統合されていますか?

IronPDF は .NET アプリケーションとシームレスに統合されており、開発者が C# を使用してプロジェクトに PDF 機能を直接組み込むことを可能にします。

IronPDF を使用する開発者向けのサポートはどのようなものですか?

IronPDF を使用する開発者は、包括的なドキュメント、コミュニティフォーラム、および開発の課題を支援する技術サポートにアクセスできます。

IronPDF は Web およびデスクトップアプリケーションの両方で使用できますか?

はい、IronPDF は Web およびデスクトップアプリケーションの両方で使用でき、異なるプラットフォームでの PDF の生成および管理に柔軟性を提供します。

IronPDF は最新の .NET 10 バージョンをサポートしていますか?

はい、IronPDF は .NET 10 に加えて、.NET 9、.NET 8、.NET 7、.NET 6、.NET Core、.NET Framework を完全にサポートしており、開発者は最新の .NET 10 アプリケーションで C# PDFWriter および関連 API を使用できます。

Curtis Chau
テクニカルライター

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

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