IronPDFのChromeレンダリングエンジンにより、C#開発者はChromeの強力なレンダリングテクノロジーでHTMLを高品質なPDFに変換することができます。 Google Chromeのレンダリングエンジンを活用したコードで請求書、レポート、ドキュメントを作成し、最新のWeb標準を完全にサポートしながら、PDFが正確なHTMLの外観を維持するようにします。
IronPDFのChromeレンダリングエンジンを使って、HTMLをPDFに素早く変換しましょう。 わずか数行のコードで、Chromiumの技術を活用し、ピクセルパーフェクトなPDFドキュメントを作成します。 このガイドでは、IronPDFを使ったHTMLコンテンツのレンダリングのシンプルさを、使いやすさと迅速な実装に焦点を当てて説明します。 IronPDFは既存 for .NETプロジェクトとシームレスに統合し、最新のWebやアプリケーション開発のための信頼性の高い高性能なソリューションを提供します。
1Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf
Install-Package IronPdf
2このコード スニペットをコピーして実行します。
using IronPdf;// Create a new ChromePdfRenderer instancevar renderer = new ChromePdfRenderer();// Render HTML string to PDFvar pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");// Save the PDF to diskpdf.SaveAs("HelloWorld.pdf");
using IronPdf;
// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();
// Render HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Save the PDF to disk
pdf.SaveAs("HelloWorld.pdf");
複数のCPUコアを必要に応じて使用し、手間のかからないマルチスレッドとAsyncを提供します。 SAASや高負荷のアプリケーションでは、ブラウザの直接使用やウェブドライバと比較して、5~20倍速いパフォーマンスを期待してください。 パフォーマンスの向上は、バッチ処理シナリオで PDF レポートを生成する場合や、応答時間が重要なトラフィックの多い Web アプリケーションで特に顕著です。
# Using Package Manager ConsoleInstall-Package IronPdf# Using .NET CLIdotnet add package IronPdf# Using PackageReference in your .csproj file<PackageReference Include="IronPdf" Version="*" />
# Using Package Manager Console
Install-Package IronPdf
# Using .NET CLI
dotnet add package IronPdf
# Using PackageReference in your .csproj file
<PackageReference Include="IronPdf" Version="*" />
using IronPdf;// Create a renderer with custom optionsvar renderer = new ChromePdfRenderer();// Configure rendering optionsrenderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screen;renderer.RenderingOptions.PrintHtmlBackgrounds = true;renderer.RenderingOptions.CreatePdfFormsFromHtml = true;// Set paper size and marginsrenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;renderer.RenderingOptions.MarginTop = 25;renderer.RenderingOptions.MarginBottom = 25;renderer.RenderingOptions.MarginLeft = 20;renderer.RenderingOptions.MarginRight = 20;// Set HTTP credentials if needed for protected resourcesrenderer.RenderingOptions.HttpLoginCredentials = new IronPdf.HttpLoginCredentials(){Username = "yourUsername",Password = "yourPassword"};// Render HTML to PDFvar pdf = renderer.RenderHtmlAsPdf("<h1>Professional Document</h1><p>Generated with IronPDF</p>");pdf.SaveAs("ProfessionalDocument.pdf");
using IronPdf;
// Create a renderer with custom options
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// Set paper size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// Set HTTP credentials if needed for protected resources
renderer.RenderingOptions.HttpLoginCredentials = new IronPdf.HttpLoginCredentials()
{
Username = "yourUsername",
Password = "yourPassword"
};
// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Professional Document</h1><p>Generated with IronPDF</p>");
pdf.SaveAs("ProfessionalDocument.pdf");
ImportsIronPdf' Create a renderer with custom optionsDim renderer As New ChromePdfRenderer()' Configure rendering optionsrenderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screenrenderer.RenderingOptions.PrintHtmlBackgrounds = Truerenderer.RenderingOptions.CreatePdfFormsFromHtml = True' Set paper size and marginsrenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4renderer.RenderingOptions.MarginTop = 25renderer.RenderingOptions.MarginBottom = 25renderer.RenderingOptions.MarginLeft = 20renderer.RenderingOptions.MarginRight = 20' Set HTTP credentials if needed for protected resourcesrenderer.RenderingOptions.HttpLoginCredentials = New IronPdf.HttpLoginCredentials() With { .Username = "yourUsername", .Password = "yourPassword"}' Render HTML to PDFDim pdf = renderer.RenderHtmlAsPdf("<h1>Professional Document</h1><p>Generated with IronPDF</p>")pdf.SaveAs("ProfessionalDocument.pdf")
Imports IronPdf
' Create a renderer with custom options
Dim renderer As New ChromePdfRenderer()
' Configure rendering options
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
' Set paper size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
' Set HTTP credentials if needed for protected resources
renderer.RenderingOptions.HttpLoginCredentials = New IronPdf.HttpLoginCredentials() With {
.Username = "yourUsername",
.Password = "yourPassword"
}
' Render HTML to PDF
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Professional Document</h1><p>Generated with IronPDF</p>")
pdf.SaveAs("ProfessionalDocument.pdf")
using IronPdf;using System.IO;// Create a Chrome PDF renderervar renderer = new ChromePdfRenderer();// Configure for pixel-perfect renderingrenderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Print;renderer.RenderingOptions.EnableJavaScript = true;renderer.RenderingOptions.RenderDelay = 500; // Wait for JavaScript to execute// Load HTML from filestring htmlContent = File.ReadAllText("template.html");// Include base URL for relative assetsrenderer.RenderingOptions.BaseUrl = new Uri("file:///C:/your-project/assets/").AbsoluteUri;// Render the HTML to PDFvar pdf = renderer.RenderHtmlAsPdf(htmlContent);// Add metadatapdf.MetaData.Author = "Your Company";pdf.MetaData.Title = "Pixel-Perfect Document";pdf.MetaData.CreationDate = DateTime.Now;// Save the PDFpdf.SaveAs("PixelPerfect.pdf");
using IronPdf;
using System.IO;
// Create a Chrome PDF renderer
var renderer = new ChromePdfRenderer();
// Configure for pixel-perfect rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Print;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Wait for JavaScript to execute
// Load HTML from file
string htmlContent = File.ReadAllText("template.html");
// Include base URL for relative assets
renderer.RenderingOptions.BaseUrl = new Uri("file:///C:/your-project/assets/").AbsoluteUri;
// Render the HTML to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Add metadata
pdf.MetaData.Author = "Your Company";
pdf.MetaData.Title = "Pixel-Perfect Document";
pdf.MetaData.CreationDate = DateTime.Now;
// Save the PDF
pdf.SaveAs("PixelPerfect.pdf");
ImportsIronPdfImportsSystem.IO' Create a Chrome PDF rendererDim renderer As New ChromePdfRenderer()' Configure for pixel-perfect renderingrenderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Printrenderer.RenderingOptions.EnableJavaScript = Truerenderer.RenderingOptions.RenderDelay = 500 ' Wait for JavaScript to execute' Load HTML from fileDim htmlContent AsString = File.ReadAllText("template.html")' Include base URL for relative assetsrenderer.RenderingOptions.BaseUrl = New Uri("file:///C:/your-project/assets/").AbsoluteUri' Render the HTML to PDFDim pdf = renderer.RenderHtmlAsPdf(htmlContent)' Add metadatapdf.MetaData.Author = "Your Company"pdf.MetaData.Title = "Pixel-Perfect Document"pdf.MetaData.CreationDate = DateTime.Now' Save the PDFpdf.SaveAs("PixelPerfect.pdf")
Imports IronPdf
Imports System.IO
' Create a Chrome PDF renderer
Dim renderer As New ChromePdfRenderer()
' Configure for pixel-perfect rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.CssMediaType.Print
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.RenderDelay = 500 ' Wait for JavaScript to execute
' Load HTML from file
Dim htmlContent As String = File.ReadAllText("template.html")
' Include base URL for relative assets
renderer.RenderingOptions.BaseUrl = New Uri("file:///C:/your-project/assets/").AbsoluteUri
' Render the HTML to PDF
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
' Add metadata
pdf.MetaData.Author = "Your Company"
pdf.MetaData.Title = "Pixel-Perfect Document"
pdf.MetaData.CreationDate = DateTime.Now
' Save the PDF
pdf.SaveAs("PixelPerfect.pdf")
using IronPdf;using System.Threading.Tasks;using System.Collections.Generic;using System.Linq;// Example of using async rendering for a single documentpublic async Task<byte[]> GeneratePdfAsync(string html){ var renderer = new ChromePdfRenderer(); var pdfDocument = await renderer.RenderHtmlAsPdfAsync(html); return pdfDocument.BinaryData;}// Example of batch processing with parallel executionpublic async TaskGenerateMultiplePdfsAsync(List<string> htmlDocuments){ var renderer = new ChromePdfRenderer(); // Process multiple documents in parallel var tasks = htmlDocuments.Select(async (html, index) => { var pdf = await renderer.RenderHtmlAsPdfAsync(html); await pdf.SaveAsAsync($"Document_{index}.pdf"); }); awaitTask.WhenAll(tasks);}// Example using Parallel.ForEach for CPU-intensive batch processingpublic voidGeneratePdfsBatch(List<string> urls){Parallel.ForEach(urls, new ParallelOptions { MaxDegreeOfParallelism = 4 }, url => { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf(url); pdf.SaveAs($"{Path.GetFileNameWithoutExtension(url)}.pdf"); });}
using IronPdf;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
// Example of using async rendering for a single document
public async Task<byte[]> GeneratePdfAsync(string html)
{
var renderer = new ChromePdfRenderer();
var pdfDocument = await renderer.RenderHtmlAsPdfAsync(html);
return pdfDocument.BinaryData;
}
// Example of batch processing with parallel execution
public async Task GenerateMultiplePdfsAsync(List<string> htmlDocuments)
{
var renderer = new ChromePdfRenderer();
// Process multiple documents in parallel
var tasks = htmlDocuments.Select(async (html, index) =>
{
var pdf = await renderer.RenderHtmlAsPdfAsync(html);
await pdf.SaveAsAsync($"Document_{index}.pdf");
});
await Task.WhenAll(tasks);
}
// Example using Parallel.ForEach for CPU-intensive batch processing
public void GeneratePdfsBatch(List<string> urls)
{
Parallel.ForEach(urls, new ParallelOptions { MaxDegreeOfParallelism = 4 }, url =>
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs($"{Path.GetFileNameWithoutExtension(url)}.pdf");
});
}
ImportsIronPdfImportsSystem.Threading.TasksImportsSystem.Collections.GenericImportsSystem.Linq' Example of using async rendering for a single documentPublicAsync Function GeneratePdfAsync(html AsString) AsTask(OfByte()) Dim renderer = New ChromePdfRenderer() Dim pdfDocument = Await renderer.RenderHtmlAsPdfAsync(html) Return pdfDocument.BinaryDataEnd Function' Example of batch processing with parallel executionPublicAsync Function GenerateMultiplePdfsAsync(htmlDocuments AsList(OfString)) AsTask Dim renderer = New ChromePdfRenderer() ' Process multiple documents in parallel Dim tasks = htmlDocuments.Select(Async Function(html, index) Dim pdf = Await renderer.RenderHtmlAsPdfAsync(html)Await pdf.SaveAsAsync($"Document_{index}.pdf") End Function)AwaitTask.WhenAll(tasks)End Function' Example using Parallel.ForEach for CPU-intensive batch processingPublic Sub GeneratePdfsBatch(urls AsList(OfString))Parallel.ForEach(urls, New ParallelOptionsWith {.MaxDegreeOfParallelism = 4}, Sub(url) Dim renderer = New ChromePdfRenderer() Dim pdf = renderer.RenderUrlAsPdf(url) pdf.SaveAs($"{Path.GetFileNameWithoutExtension(url)}.pdf") End Sub)End Sub
Imports IronPdf
Imports System.Threading.Tasks
Imports System.Collections.Generic
Imports System.Linq
' Example of using async rendering for a single document
Public Async Function GeneratePdfAsync(html As String) As Task(Of Byte())
Dim renderer = New ChromePdfRenderer()
Dim pdfDocument = Await renderer.RenderHtmlAsPdfAsync(html)
Return pdfDocument.BinaryData
End Function
' Example of batch processing with parallel execution
Public Async Function GenerateMultiplePdfsAsync(htmlDocuments As List(Of String)) As Task
Dim renderer = New ChromePdfRenderer()
' Process multiple documents in parallel
Dim tasks = htmlDocuments.Select(Async Function(html, index)
Dim pdf = Await renderer.RenderHtmlAsPdfAsync(html)
Await pdf.SaveAsAsync($"Document_{index}.pdf")
End Function)
Await Task.WhenAll(tasks)
End Function
' Example using Parallel.ForEach for CPU-intensive batch processing
Public Sub GeneratePdfsBatch(urls As List(Of String))
Parallel.ForEach(urls, New ParallelOptions With {.MaxDegreeOfParallelism = 4}, Sub(url)
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs($"{Path.GetFileNameWithoutExtension(url)}.pdf")
End Sub)
End Sub
IronPDF can be installed via the NuGet Package Manager, via command line using .NET CLI, or by adding a PackageReference in your project's .csproj file. It's simple and integrates into your .NET environment.
Can IronPDF generate accessible PDFs?
Yes, IronPDF supports producing accessible PDFs by adhering to the PDF/UA standard, ensuring documents are properly read by assistive technologies.
How does IronPDF ensure the quality of its Chrome rendering engine?
IronPDF's Chrome rendering engine is rigorously tested, passing over 1156 unit and integration tests, ensuring stability and reliability in various production scenarios.
What are the upcoming features for IronPDF?
IronPDF plans to introduce ultra-slim deployments for cloud environments, mobile rendering support for apps, IE and Firefox rendering options, scalable enterprise solutions, and enhanced PDF document models.
How can users provide feedback to IronPDF?
Users can send feedback, suggestions, or inquiries to IronPDF by contacting their support team via email, helping prioritize new features and improvements.