IRONSOFTWAREHOME

Iron Suite for .NET

10 .NETライブラリ。1つの完全なドキュメントスイート。

IRON SUITEの使用

Create PDF in C# from HTML File

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

IronPDF はプログラムによって HTML を PDF ドキュメントに変換します。

PDFの作成方法 C# - HTMLからPDFへの例

この記事全体のソース コードは、C# HTML から PDF へのプロジェクト ソース コードのダウンロードとして C# で入手できます。

次のチュートリアルでは、IronPDF をC# PDF ジェネレーターとして使用するプロセスについて説明します。 基本的な内容だけでなく、多くの高度なC# PDFトピックもカバーしています。

HTMLからPDFへのウォークスルー

このデモでは、IronPDFをどのように使用するかの例を紹介します。 Iron Software から追加のユースケースデモをリクエストします。

デモはHello World、RenderHtmlAsPdfおよびRenderUrlAsPdfの例から構成されています。 すべての例は、IronPDF デモ ソリューションの対応するプロジェクトにあります。

ステップ1: インストール

IronPDFはNuGetを通じてインストールできます。 パッケージ名はIronPDF NuGet パッケージです。

または、直接ライブラリをダウンロード使用できます。

ステップ2: Hello World

IronPDF をインストールしてプロジェクトで参照すると、いくつかの文字列を入力するだけですぐに使用を開始できます。

// Create a new instance of ChromePdfRenderer
var chromePdfRenderer = new ChromePdfRenderer();

次に、HTML を PDF に変換する必要がある場合:

// Define HTML content to turn into PDF
var html = @"<h1>Hello World!</h1><br><p>This is IronPdf.</p>";

// Render the HTML string as a PDF
using var pdf = chromePdfRenderer.RenderHtmlAsPdf(html);

// Save the resulting PDF to a file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"));

または、Web ページを PDF ファイルに変換する場合:

// URI of the page to turn into PDF
var uri = new Uri("http://www.google.com/ncr");

// Render the webpage as a PDF
using var pdf = chromePdfRenderer.RenderUrlAsPdf(uri);

// Save the resulting PDF to a file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));

以上です! 対応する結果は次のとおりです。

HTMLファイルからC#でPDFの作成、図1:HTMLをPDFに変換した結果 HTMLをPDFに変換した結果**

HTMLファイルからC#でPDFの作成、図2:ウェブページをPDFに変換した結果 ウェブページをPDFに変換した結果

コード サンプルは IronPDFDemo.HelloWorld プロジェクトにあります。

ステップ3: RenderHtmlAsPdf

例1

より現実的な例を評価するために、HTML 請求書を PDF に変換する必要があると想像してください。 これを実行する方法を示すコードは次のとおりです。

**注:**請求書の HTML は IronPDFDemo.DemoWebSite プロジェクト (~/Static/TestInvoice1.html) にあります。 請求書には"印刷"メディア タイプ用のカスタム CSS が含まれていることに注意してください。

ソース請求書はブラウザでは次のようになります。

HTMLファイルからC#でPDFの作成、図4:


これを PDF ファイルに変換するには、上記の HelloWorld の例に似たコードが使用されますが、違いはソース HTML ファイルです。

// Read HTML from file
var html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"));
var chromePdfRenderer = new ChromePdfRenderer();
using var pdf = chromePdfRenderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"));

結果は次のとおりです:

HTMLファイルからC#でPDFの作成、図5:HTMLからPDFファイルを生成 HTMLからPDFファイルを生成する

素晴らしいですね! コード サンプルは IronPDFDemo.RenderHtmlAdPdfDemo プロジェクトにあります。

IronPDFでバイト配列を含むHTMLドキュメントまたは文字列を使用する方法についてのこの質問もご覧ください

例2

このセクションでは、例 1 の結果の PDF をカスタマイズする方法を説明します。たとえば、カスタム マージン、ドキュメント タイトルを含むヘッダー、作成日とページ番号を含むフッター、標準の請求書にある"印刷"メディア タイプ用のカスタム CSS などを追加します。 これを行うには、ChromePdfRendererコンストラクタに渡します。

// Configure rendering options with margins, headers, and footers
var pdfRenderingOptions = new ChromePdfRenderOptions()
{
    MarginTop = 50,
    MarginBottom = 50,
    TextHeader = new TextHeaderFooter()
    {
        CenterText = "{pdf-title}",
        DrawDividerLine = true,
        FontSize = 16
    },
    TextFooter = new TextHeaderFooter()
    {
        LeftText = "{date} {time}",
        RightText = "Page {page} of {total-pages}",
        DrawDividerLine = true,
        FontSize = 14
    },
    CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
};

var chromePdfRenderer = new ChromePdfRenderer(pdfRenderingOptions);

**ヒント:**オプションをコンストラクタのパラメータとして渡す代わりに、ChromePdfRendererインスタンスの対応するフィールドを設定できます:

var chromePdfRenderer = new ChromePdfRenderer();
chromePdfRenderer.RenderingOptions = pdfRenderingOptions;

**注意:**ヘッダーとフッター機能はマージ機能を統合しており、すべてのマージフィールド({page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title})に対応するデータを埋め込むことができます。

残りのコードは例 1 と同じです。結果は次のようになります。

HTMLファイルからC#でPDFの作成、図6:ヘッダーとフッターを持つ請求書の生成 ヘッダーとフッター付きの請求書を生成する

"印刷"メディア タイプのカスタム マージン、ヘッダー、フッター、および CSS が設定されました。 コード サンプルは IronPDFDemo.RenderHtmlAdPdfDemo プロジェクトにあります。 詳細な設定については、IronPDF API リファレンスを参照してください。

ステップ4: RenderUrlAsPdf

設定

このセクションのサンプルを実行するには、IronPDFDemo.DemoWebSite をローカルでホストする必要があります。 IIS Express でこれを行うには:

  1. DemoWebSiteへ移動
  2. 右クリック > スタートアッププロジェクトとして設定
  3. デバッグなしで開始する(Ctrl+F5)
  4. {baseurl}/Static/TestInvoice1.htmlに移動して、動作していることを確認します。 これはURLhttp://localhost:51169/Static/TestInvoice1.htmlです(対応するプロジェクト設定を変更しない限り、あなたの場合と同じになります)。

例1

このセクションでは、HelloWorld の例と同じコードを使用して、ホストされている DemoWebSite 請求書を PDF に変換します。 違いはホストされている URL にあります。

// URL of the hosted invoice webpage
var uri = new Uri("http://localhost:51169/Static/TestInvoice1.html");
var urlToPdf = new ChromePdfRenderer();
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"));

結果は次のとおりです:

HTMLファイルからC#でPDFの作成、図7:ホスティングされたWebサイトをPDFに変換 ホストされたウェブサイトをPDFで生成する

これは素晴らしいです。期待どおりのようです。 コード サンプルは IronPDFDemo.RenderUrlAsPdfDemo プロジェクト内にあります。

例2

多くの Web サイトは認証方法によって保護されています。 このセクションでは、カスタム マージン、ドキュメント タイトルを含むヘッダー、作成日とページを含むフッター、および"印刷"メディア タイプ用のカスタム CSS などのカスタマイズを施した PDF ファイルをレンダリングするプロセス中に、提供されたユーザー名とパスワードを使用します。 請求書のURLはhttp://localhost:51169/Invoiceです。

http://localhost:51169/Invoiceにアクセスすると、"認証が必要"なフォームになります:

HTMLファイルからC#でPDFの作成、図8:認証が必要なフォーム 認証が必要なフォーム

**注:**資格情報は"testUser"/"testPassword"です。

では、認証をバイパスするにはどうすればよいでしょうか? 設定HttpLoginCredentialsによって:

// URL of the protected invoice webpage
var uri = new Uri("http://localhost:51169/Invoice");

// Configure renderer with login credentials to bypass authentication
var urlToPdf = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions()
    {
        MarginTop = 50,
        MarginBottom = 50,
        TextHeader = new TextHeaderFooter()
        {
            CenterText = "{pdf-title}",
            DrawDividerLine = true,
            FontSize = 16
        },
        TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} {time}",
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true,
            FontSize = 14
        },
        CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
    },

    // Set login credentials to bypass basic authentication
    LoginCredentials = new HttpLoginCredentials()
    {
        NetworkUsername = "testUser",
        NetworkPassword = "testPassword"
    }
};

using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"));

注: ChromePdfRenderer Example2 と同じカスタマイズが使用されます。

結果は次のとおりです:

HTMLファイルからC#でPDFの作成、図9:PDFファイルに資格情報を持つHTMLサイトを生成 資格情報を含む HTML サイトを PDF ファイルに生成します

すべてが整っています。 コード サンプルは IronPDFDemo.RenderUrlAsPdfDemo プロジェクトにあります。 HttpLoginCredentials がない場合、結果がどうなるか気になる場合は、次のようになります。

HTMLファイルからC#でPDFの作成、図10:資格情報なしで空のPDFファイルを生成 資格情報なしで空のPDFファイルを生成する

Jeanの.NET HTML to PDFチュートリアルもご覧ください。

さらに、IronPDF はさまざまな方法で PDF と対話することもできます。

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。