How to Convert HTML String to PDF in C
IronPDFはChromeレンダリングエンジンを使ってC#でHTML文字列をPDFドキュメントに変換し、基本的な変換は1行のコードですべてのHTML5、CSS3、JavaScriptコンテンツをサポートします。 このライブラリは、完璧なレンダリング忠実度を維持しながらPDFを作成するための強力な機能を提供します。
IronPDFは、.NET Coreおよび.NET Framework用にC#、F#、VB.NETで簡単にPDFドキュメントを作成できるように開発者を支援します。 IronPDFはあらゆるHTML文字列をPDFにレンダリングすることをサポートし、レンダリングプロセスはGoogle Chromiumエンジンのフル機能バージョンを使用します。これにより、HTMLコンテンツが最新のウェブブラウザで表示されるのとまったく同じように表示され、動的なHTMLコンテンツからレポート、請求書、ドキュメントを生成するのに理想的です。
クイックスタート: HTML 文字列を数秒で PDF に変換する
IronPDFを使ってHTML文字列をPDFファイルに変換します。 このガイドでは、C#で最小限のコードでHTML文字列をPDF文書に変換する方法を示します。 PDFレンダリング機能をプロジェクトに組み込む必要のある開発者に最適です。
最小限のワークフロー(5ステップ)
- NuGetからIronPDF C#ライブラリをダウンロードする。
- PDFレンダラーをインスタンス化し、HTML文字列を渡します
- PDFの外部アセットのためのBasePathを設定します
- 出力PDFを微調整するためにRenderingOptionsを設定します。
- 生成されたPDFを保存してダウンロードします
単純な HTML 文字列を PDF に変換するにはどうすればよいですか?
以下は、IronPDFがRenderHtmlAsPdfメソッドを使用してHTML文字列をPDFに変換する例です。 パラメータは、PDFにレンダリングされるHTML文字列です。 このメソッドは ChromePdfRenderer クラスの一部であり、PDF 生成のニーズに合わせてレンダリングオプションを詳細に制御できます。
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
RenderHtmlAsPdf メソッドは、PDF 情報を保持し、PDF の結合、透かしの追加、セキュリティオプションの設定など、PDF を操作するためのメソッドを提供する PdfDocument オブジェクトを返します。
using ブロックでラップしてください。 ChromePdfRendererはスレッドセーフであり、パフォーマンス向上のために一度インスタンス化して、複数のリクエスト間で再利用することができます。}}
外部ソースからHTML文字列を取得し、ローカルディスクへのアクセスやクロスオリジンリクエストを無効にする必要がある場合は、レンダリングの前に IronPdf.Installation.EnableWebSecurity を true に設定してください。 これは静的なグローバル設定であり、レンダラーのインスタンスプロパティではありません。
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
' Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = True
CSSスタイルを含む複雑なHTMLコンテンツの場合は、ベースURLとアセットエンコーディング機能を使用して、インラインスタイルでHTML文字列を強化するか、外部スタイルシートを参照してください:
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
Dim styledHtml As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>"
Using styledPdf = renderer.RenderHtmlAsPdf(styledHtml)
styledPdf.SaveAs("styled-output.pdf")
End Using
生成されたPDFはどのように見えますか?
これはコードによって生成されたファイルです:
生成されたPDFは、HTMLの書式とスタイルを正確に維持するため、PDFレポートの生成や、Webコンテンツを印刷可能なドキュメントに変換するのに最適です。
HTMLをPDFに変換するときに外部アセットを含めるにはどうすればよいですか?
この例では、IronPDFがオプションのBasePathから外部の画像アセットを読み込むことを示しています。 BaseUrlOrPathプロパティを設定すると、ハイパーリンクや画像、CSS、JavaScriptファイル用の相対ファイルパスまたはURLコンテキストが提供されます。 これは、PDF内の画像を扱う場合や、外部リソースを参照する必要がある場合に不可欠です。
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf-2.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Private myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
複雑なレイアウトやダイナミックコンテンツを含む高度なシナリオには、IronPDFのJavaScriptレンダリングサポートをご利用ください:
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
Imports System
' Example with JavaScript-generated content
Dim jsHtml As String = "
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>"
' Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500) ' milliseconds
Using dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, "C:\site\")
dynamicPdf.SaveAs("dynamic-content.pdf")
End Using
外部資産を扱う場合、認証や特別なヘッダーを扱う必要があるかもしれません。 IronPDFはHTTP Request Header機能を通してこれをサポートし、リソースを取得する際に認証トークンやカスタムヘッダーを含めることができます。
外部リソースに BasePath を設定することが重要なのはなぜですか?
これはコードによって生成されたファイルです:
BasePathを正しく設定することで、HTML内のすべての相対参照が適切に解決されます。 これがないと、IronPDFは画像、スタイルシート、スクリプトのような外部リソースを見つけることができません。これは特に次のような場合に重要です:
1.ローカルファイルシステムのリソースを参照するHTMLの変換 2.相対URLを使用するコンテンツ管理システムでの作業 3.既存のウェブコンテンツのPDFフォーマットへの移行 4.共有アセットを使用するテンプレートの作成
ウェブベースのリソースについては、ベースパスとして完全なURLを使用してください:
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
' Using a web URL as base path
Dim webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
)
PDF生成プロセスをさらにコントロールするために、カスタムマージン、ページの向き、PDF圧縮に関するIronPDFの広範なドキュメントを参照して、さまざまな使用ケースに合わせて出力ファイルを最適化してください。
よくある質問
C# で単純な HTML 文字列を PDF に変換す る には ど う すれば よ いで し ょ う か。
IronPDFのChromePdfRendererクラスのRenderHtmlAsPdfメソッドを使ってHTML文字列をPDFに変換することができます。レンダラーをインスタンス化し、HTML文字列をメソッドに渡し、結果のPdfDocumentオブジェクトを保存するだけです。IronPDFはChromeのレンダリングエンジンを使用して、完璧な忠実性を保証します。
HTMLからPDFへの変換にはどのようなレンダリングエンジンを使用しますか?
IronPDFはHTMLをPDFにレンダリングするためにGoogle Chromiumエンジンの完全な機能を使用しています。これにより、HTML5、CSS3、JavaScriptを含むHTMLコンテンツが最新のウェブブラウザで表示されるのとまったく同じように表示されます。
CSSスタイル付きのHTMLをPDFに変換できますか?
はい、IronPDFはCSSスタイル付きのHTMLをPDFに変換することをサポートしています。HTML文字列で直接インラインスタイルを使用するか、ベースURLとアセットエンコーディング機能を使って外部スタイルシートを参照し、スタイル付きコンテンツの適切なレンダリングを保証することができます。
HTMLをPDFに変換する最も速い方法は何ですか?
最も手っ取り早い方法はIronPDFの静的メソッドを使うことです:IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("Your HTML").SaveAs("output.pdf").この一行のコードでHTML文字列を変換し、PDFファイルとして保存します。
HTML文字列を変換する際、外部資産はどのように扱えばよいですか?
IronPDFはPDF内の外部アセットのBasePathを設定することができます。これにより、HTMLで参照されている画像、スタイルシート、その他のリソースが変換処理中に適切に読み込まれるようになります。
HTMLから変換する際、PDF出力をカスタマイズできますか?
はい、IronPDFはレンダリングオプションでPDF出力を微調整できます。ChromePdfRendererクラスを通して、ページサイズ、余白、ヘッダー、フッター、その他生成されるPDFの多くの側面を制御できます。
変換後に生成されたPDFで何ができますか?
IronPDFのPdfDocumentオブジェクトはPDFのマージ、透かしの追加、セキュリティオプションの設定など、PDFを操作するための多くのメソッドを提供します。変換されたPDFはディスクに保存したり、ストリーミングしたり、必要に応じてさらに処理することができます。
外部ソースからHTMLを変換する際のセキュリティはどうすればよいですか?
外部ソースからHTMLを変換する際、IronPDFではChromePdfRendererのEnableWebSecurityプロパティをtrueに設定することができます。これによりローカルディスクへのアクセスとクロスオリジンリクエストが無効になり、セキュリティが強化されます。

