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

C# PDFWriter チュートリアル:.NETでPDFドキュメントを作成する

IronPDF は、HTML を PDF に変換することで C# で PDF を作成するプロセスを簡素化し、開発者が手動での配置や過剰な定型文を回避しながら最小限のコードでプロフェッショナルな PDF を生成できるようにします。

以前は、C# でプログラム的に PDF ドキュメントを作成するのは困難でした。 ほとんどの C# PDFWriter ソリューションでは、単純なPDF ファイルを作成するために、複雑な API と広範な定型コードが必要になります。 古いオープンソース ライブラリを試したことがあれば、メモリ リークパフォーマンスの問題でどれほどイライラするかがわかるでしょう。

IronPDF はそれをすべて変えます。 わずか数行のコードで、低レベルの詳細を処理せずに PDF ドキュメントを作成し、新しいページ、段落、画像、ヘッダー、ページ番号を追加して保存できます。 このライブラリは、パフォーマンス向上のための非同期操作と、バッチ処理のためのマルチスレッドをサポートしています。

この記事では、IronPDF のドキュメント オブジェクト、 ChromePdfRenderer 、および PDF 生成メソッドを使用して、Visual Studio から直接 .NET Framework または .NET Core でプロフェッショナルな PDF ドキュメントを作成する方法を説明します。 最後には、簡単な"Hello World"テストでも、カスタムフォント埋め込み画像を使用した本格的な請求書でも、独自の PDF ファイルを生成できるようになります。

C# の PDFWriter とは何ですか?

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

IronPDFはこれらすべてを簡素化します。 一般的なコンソール アプリケーションのような使い慣れた C# 環境から簡単なコードを使用して HTML コンテンツと CSS を使用したPDF ドキュメントを作成したり、 MemoryStreamなどの標準クラスを操作したりできます。 ライブラリはフォントカーニングメタデータ管理を自動的に処理します。

iTextSharp などの一部のライブラリにはPdfWriterという名前のクラスがありますが、C# では PDFWriter という用語は通常、プログラムによって PDF ドキュメントを生成するコンポーネントまたはライブラリを指します。 オプションを比較する場合は、 IronPDF と iText の比較を確認するか、 AsposeSyncfusionQuestPDFとの比較を参照して詳細な機能分析を確認してください。

低レベルの操作から高レベルの生成に移行することで生産性が向上します。 Visual Studio または IDE の新しいPdfDocumentインスタンスを使用すると、最小限のコードで PDF を作成できます。 Chrome レンダリング エンジンは、最新のCSS メディア タイプレスポンシブ レイアウトをサポートし、常にピクセルパーフェクトな出力を保証します。

以下に示すように、iTextSharp などの従来の PDFWriter ライブラリでは大量の定型文が必要ですが、IronPDF ではわずか数行で同じ PDF ドキュメントが生成されます。つまり、より高速で、よりシンプルで、エラーが発生しにくくなります。 このライブラリは、デバッグを容易にするためのカスタム ログオプションとネイティブ例外処理も提供します。

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

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

Install-Package IronPdf

または、Visual Studioで:

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

プラットフォーム固有のインストールの詳細については、 IronPDF インストール ガイド高度な NuGet 構成を確認してください。 AzureまたはAzure FunctionsAWSまたはAWS Lambdaにデプロイする場合、またはDocker で IronPDF を実行する必要がある場合は、環境ごとに特定のガイドがあります。 Intel および Apple Silicon 上のRed Hat Enterprise LinuxまたはmacOS インストールを含むLinux デプロイメントでは、追加の依存関係が必要になる場合があります。 手動セットアップにはWindows インストーラーを使用することもできます。

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");
$vbLabelText   $csharpLabel

ChromePdfRendererすべての複雑な処理を内部で処理し、コンテンツをピクセル単位で完璧に新しいドキュメントにレンダリングします。 ファイルではなくストリームで作業する必要がある場合は、 PDF をメモリにエクスポートしたり、処理のためにメモリから PDF を読み込んだりすることもできます。

// Save to MemoryStream instead of file
using (var ms = pdf.Stream)
{
    // Use the stream as needed
    byte[] pdfBytes = ms.ToArray();
}
// Save to MemoryStream instead of file
using (var ms = pdf.Stream)
{
    // Use the stream as needed
    byte[] pdfBytes = ms.ToArray();
}
$vbLabelText   $csharpLabel

また、アーカイブ用の PDF/Aアクセシビリティ用の PDF/UA 、特定のPDF バージョンとの互換性など、さまざまな形式で PDF を保存することもできます。

// Save as PDF/A-3b for long-term archival
pdf.SaveAsPdfA("archived-document.pdf");

// Convert to linearized PDF for fast web viewing
pdf.SaveAsLinearized("web-improve.pdf");
// Save as PDF/A-3b for long-term archival
pdf.SaveAsPdfA("archived-document.pdf");

// Convert to linearized PDF for fast web viewing
pdf.SaveAsLinearized("web-improve.pdf");
$vbLabelText   $csharpLabel

注: IronPDF のメソッドとドキュメント オブジェクト機能を使用すると、わずか数行で画像、新しいページ、ヘッダー、段落を簡単に追加できます。 ライブラリは、埋め込まれたアセットのbase64 エンコードとインライン画像のデータ URI をサポートしています。

HTML を PDF ドキュメントに変換するにはどうすればいいですか?

IronPDFの真の力は、複雑なPDFドキュメントの生成にあります。 既存の Web ページからHTML を PDF に変換する場合でも、動的なレポートを作成する場合でも、HTML から PDF への変換では完全な忠実性が維持されます。 このライブラリは、 Bootstrap および Flexbox CSSSVG グラフィックWebGL コンテンツをサポートしています。

// Convert a URL to PDF
var urlPdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_55___");
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.Environment;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500); // Wait for dynamic content
// Convert a URL to PDF
var urlPdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_55___");
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.Environment;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500); // Wait for dynamic content
$vbLabelText   $csharpLabel

レンダラは完全なCSS3、JavaScriptの実行、レスポンシブレイアウトをサポートしています。 これにより、PDF が意図したとおりに表示されるようになります。 レンダリング オプションの詳細については、 IronPDF のドキュメントを参照してください。 HTML ファイルHTML 文字列、さらにはHTML ZIP ファイルも同様に簡単に変換できます。

認証が必要な Web サイトの場合、IronPDF はTLS Web サイトとシステム ログインおよびKerberos 認証をサポートしています。 API アクセス用にカスタム HTTP リクエスト ヘッダーを追加できます。 JavaScript レンダリング機能により、高度なシナリオ向けのカスタム レンダリング遅延JavaScript メッセージ リスナーを使用して、動的コンテンツが正しくレンダリングされることが保証されます。

HTML ファイルの出力はどのようになりますか?

左側に HTML 請求書テンプレート コード、右側に生成された PDF プレビューを表示する分割画面ビューで、HTML から PDF への変換を示します。

IronPDF を使用して実際の PDF ドキュメントを生成する方法

C#での実際のPDF生成はしばしば動的データを伴います。 IronPDF のPDF 作成 APIを使用してプロフェッショナルな請求書を作成する方法を説明します。 以下のコードは、カスタム用紙サイズ高度な書式設定を使用した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);
// Apply digital signature for authenticity
invoicePdf.Sign(new PdfSignature("cert.pfx", "password"));
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);
// Apply digital signature for authenticity
invoicePdf.Sign(new PdfSignature("cert.pfx", "password"));
invoicePdf.SaveAs($"invoice-{invoiceNumber}.pdf");
$vbLabelText   $csharpLabel

このアプローチはHTMLテンプレートの柔軟性とPDF出力の信頼性を結び付け、請求書、レポート、証明書、その他のビジネス文書の生成に理想的です。 ASP.NET でPDF レポートを作成する方法について詳しく学習します。 MVC アプリケーションでCSHTML を PDF に変換したり、動的なコンテンツ生成にRazor Pages を使用したり、サーバー側処理のためにCSHTML をヘッドレスでレンダリングしたりすることもできます。 Blazor アプリケーションの場合、IronPDF はスムーズな統合を提供します。

生成された請求書はどのようになりますか?

生成されたPDF請求書のスクリーンショット。請求書番号12345、サンプル製品エントリ、合計金額250.75ドルが表示されている。

PDFWriter を改善する高度な機能は何ですか?

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

ヘッダーとフッター: HtmlHeaderFooterを使用してページ番号とブランドを追加します。従来のテキスト ヘッダーHTML ベースのヘッダーの両方をサポートします。 デジタル署名: HSM署名変更履歴を含む暗号署名で文書を保護します 透かし: ApplyStamp()を使用して画像またはカスタムテキスト透かしを追加します。複数のスタンプ新しいコンテンツスタンプをサポートします。 暗号化:パスワードセキュリティPDF復号化で機密コンテンツを保護します フォームフィールド: インタラクティブな要素を含む入力可能な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
};
// Add watermark for draft documents
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    DrawDividerLine = true,
    LeftText = "CONFIDENTIAL",
    RightText = "{date} {time}"
};
// 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
};
// Add watermark for draft documents
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    DrawDividerLine = true,
    LeftText = "CONFIDENTIAL",
    RightText = "{date} {time}"
};
$vbLabelText   $csharpLabel

ドキュメントのレイアウトをさらに細かく制御するには、カスタム余白を設定したり、カスタム用紙サイズを定義したり、ページの向きを調整したりできます。 目次機能は、長いドキュメントのナビゲーションを自動的に生成します。 また、 PDF ページを変換したり線や四角形を描画したり、既存の PDF にテキストやビットマップを直接追加したりすることもできます。

これを使用すると、フッターにページ番号とカスタム ヘッダーが付いた PDF ファイルを生成できます。 デモンストレーションとして、 HTML から 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");
$vbLabelText   $csharpLabel

その他の機能には、セキュリティのためのPDF サニタイズ、フォームを編集不可にするPDF のフラット化、Web の高速表示のための線形化などがあります。 また、 PDF DOM オブジェクトを操作したり、 PDF オブジェクトを拡大縮小したりPDF オブジェクトを変換して正確な制御を行うこともできます。

さらにカスタマイズするには、テキストや画像をスタンプしたりPDF を結合または分割したり、既存の PDF からテキストや画像を抽出したりすることもできます。 このライブラリはUTF-8 と国際言語もサポートしているため、グローバルアプリケーションに適しています。 特定の形式では、 XML から PDFMarkdown から PDFRTF から PDFDOCX から PDF に変換できます。

最終的な PDF ではページ番号はどのように表示されますか?

! PDF ビューアーは、セクション 1 とセクション 2 のヘッダーに Lorem ipsum テキストを含む 'MultiPageReport.pdf' の 2 ページスプレッドを 75% のズームで表示しています。

C# PDF 生成のニーズに IronPDF を選択する理由は何ですか?

IronPDFは、C#でのPDF生成を簡単で信頼性のあるものにします。 専用のPdfWriterクラスは必要ありません。 代わりに、レンダラーとPdfDocumentオブジェクトが HTML コンテンツからページ サイズ、ヘッダー、フッターまですべてを処理します。 Microsoft Office 統合用の請求書、レポート、証明書を作成する場合でも、IronPDF を使用すると、わずか数行のコードで作業を完了できます。 このライブラリは、高ボリュームのシナリオ向けの並列処理と、応答性の高いアプリケーション向けの非同期操作をサポートします。

完全なドキュメントエンジニアリング サポートを含む強力なサポート オプション、無料試用版が用意されているので、始めるのは簡単です。 新しいPDFドキュメントを試したり、画像を追加したり、フォントサイズとページレイアウトを調整したりすることができます。 IronPDFは、技術的な雑用からPDF作成をスムーズで生産的なワークフローに変えます。 ライブラリには、その機能を紹介するデモと、複雑なシナリオのチュートリアルが用意されています。

このライブラリは、マルチフレーム TIFF のサポートレスポンシブ CSS の処理、 Web フォントとアイコンのサポートなど、画像を PDF に変換するなどの一般的なタスクに優れています。 デバッグの場合は、 Chrome を使用して HTML をデバッグし、完璧な出力を確保できます。 高度な機能には、インテリジェントな PDF 処理のためのOpenAI 統合Azure Blob Storage のサポート、物理出力の印刷機能などがあります。

展開に関しては、IronPDF はIIS 構成ClickOnce 展開、およびソフトウェア インストーラー統合のガイドを提供します。 このライブラリは、モバイル シナリオ向けのMAUI アプリケーションAndroid 展開もサポートしています。

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

C#PDFライターワークフローの近代化を始める準備はできましたか? 無料トライアルを開始して、IronPDFが.NETでのPDF作成をどのように簡素化するかを体験してください。 完全なドキュメントAPI リファレンス、応答性の高いサポートにより、プロフェッショナルな PDF を数時間ではなく数分で生成できます。 最新のアップデートと今後の機能のマイルストーンについては、変更ログを確認してください。

今すぐIronPDFを使用してドキュメント作成を変革し、C# での最新の PDF 生成にすでに切り替えている何千人もの開発者に加わってください。 VB.NETF#を使用している場合でも、 Blazorを使用している場合でも、 IronPDF が対応します。

よくある質問

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

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