# How to Convert HTML to PDF in C# .NET Core
由於PDF格式的嚴格標準,從不同格式轉換為PDF可能具有挑戰性。 在很多情況下,尤其是處理HTML和CSS樣式時,轉換可能無法實現一對一的匹配。 然而,在當今的數位環境中,將URL和表單(包括HTML和CSS)轉換的能力是必不可少的。 這就是IronPDF的優勢所在,它提供了直觀的功能,使得開發者能夠以高保真度將各種格式轉換為PDF,通常只需幾行程式碼。
使用IronPDF,您可以輕鬆地將HTML、DOCX、RTF、Markdown甚至圖像轉換為PDF,保證文件的完整性。 它還支持從流行框架如Razor、CSHTML、ASPX和XAML中轉換動態網頁,消除了相容性問題,使IronPDF成為您所有PDF轉換需求的全面解決方案。
除了簡單的轉換之外,IronPDF還提供了強大的自定義選項。 您可以自定義PDF輸出,使用自定義邊距、頁眉和頁腳來包含頁碼,調整灰度設置以減少文件大小。通過新增目錄、自動分頁和內容縮放到理想文件尺寸的功能來增強您的文件。
在本教程中,我們將探索這些功能及更多,提供程式碼範例並突顯IronPDF的關鍵特性。 準備好改變您的PDF轉換流程了嗎?使用IronPDF輕鬆地轉換、定制和優化您的PDF文件。
*as-heading:2(快速入門:使用IronPDF將HTML轉換為PDF)*
開始使用IronPDF,在.NET Core中輕鬆將HTML轉換為PDF。 只需一行程式碼,您就可以使用IronPDF強大的API從HTML字串渲染出像素完美的PDF。 本指南將向您展示如何快速將IronPDF整合到您的專案中,實現更加簡單流暢的PDF生成。無論您是在轉換HTML、URL或Razor視圖,IronPDF都能簡化流程,使各個層級的開發人員能夠輕鬆上手。 今天就開始轉換,當您準備好的時候探索高級功能。
```cs
:title=Convert HTML to PDF Instantly
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
```
*as-heading:2(目錄)*
- **多功能PDF轉換**
- [從HTML字串生成PDF](#anchor-pdf-from-html-string)
- [從HTML文件生成PDF](#anchor-pdf-from-html)
- [從URL生成PDF](#anchor-pdf-from-url)
- [圖像到PDF](#anchor-image-to-pdf)
- [從PDF生成圖像](#anchor-image-from-pdf)
- [將DOCX轉換為PDF](#anchor-convert-docx-to-pdf)
- [將RTF轉換為PDF](#anchor-convert-rtf-to-pdf)
- [將MD轉換為PDF](#anchor-convert-md-to-pdf)
- [將XML轉換為PDF](#anchor-convert-xml-to-pdf)
- [將PDF轉換為HTML](#anchor-pdf-to-html)
- **動態網頁到PDF**
- [從ASPX頁面生成PDF](#anchor-pdf-from-aspx-pages)
- [XAML to PDF (MAUI)](#anchor-xaml-to-pdf-maui)
- [生成PDF報告](#anchor-generate-pdf-reports)
- [在Blazor伺服器中建立PDF](#anchor-create-pdfs-in-blazor-servers)
- [Razor to PDF(Blazor Server)](#anchor-razor-to-pdf-blazor-servers)
- [CSHTML到PDF概覽](#anchor-cshtml-to-pdf)
- [CSHTML to PDF(Razor Pages)](#anchor-cshtml-to-pdf-razor-pages)
- [CSHTML to PDF(MVC Core)](#anchor-cshtml-to-pdf-mvc-core)
- [CSHTML to PDF(MVC Framework)](#anchor-cshtml-to-pdf-mvc-framework)
- [CSHTML到PDF (無頭)](#anchor-cshtml-to-pdf-headlessly)
- **網頁可存取性**
- [TLS網站和系統登入](#anchor-tls-website-system-logins)
- [Cookies](#anchor-cookies)
- [HTTP請求頭](#anchor-http-request-header)
- **定制化PDF轉換**
- [渲染選項](#anchor-rendering-options)
- [設定自訂邊距](#anchor-set-custom-margin)
- [灰度](#anchor-grayscale)
- **優化PDF版面**
- [新增目錄](#anchor-add-a-table-of-contents)
- [分頁符](#anchor-page-break)
- [適合紙張和縮放](#anchor-fit-to-page-zoom)
## 多功能PDF轉換
### 從HTML字串生成PDF
要從HTML字串生成PDF,我們可以使用`RenderHtmlAsPdf`方法快速將HTML字串轉換為像素完美的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");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/html-string-to-pdf/)。
### 從HTML生成PDF
通過我們的`RenderHtmlAsPdf`方法輕鬆將HTML文件轉換為PDF,迅速保存像素完美的PDF。
```cs
using IronPdf;
using IronPdf.Engines.Chrome;
using IronPdf.Rendering;
var renderer = new ChromePdfRenderer
{
RenderingOptions = new ChromePdfRenderOptions
{
CssMediaType = PdfCssMediaType.Print,
MarginBottom = 0,
MarginLeft = 0,
MarginRight = 0,
MarginTop = 0,
Timeout = 120,
},
};
renderer.RenderingOptions.WaitFor.RenderDelay(50);
// Create a PDF from an existing HTML file using C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/html-file-to-pdf/)。
### 從URL生成PDF
使用`RenderUrlAsPdf`只需幾行程式碼即可快速將URL轉換為PDF。 將URL作為參數輸入,輕鬆保存。
```cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/url-to-pdf/)。
### 將圖像轉換為PDF
您是否有圖像希望顯示為PDF? 使用我們的`ImageToPdf`方法快速轉換。
```cs
using IronPdf;
string imagePath = "meetOurTeam.jpg";
// Convert an image to a PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);
// Export the PDF
pdf.SaveAs("imageToPdf.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/image-to-pdf/)。
### 從PDF生成圖像
對於上述例子的相反操作,我們可以先將輸入轉換為PDF,然後使用`RasterizeToImageFiles`方法將PDF轉換為圖像。
```cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/rasterize-pdf-to-images/)。
### 將DOCX轉換為PDF
您是否曾需要輕鬆將DOCX文件(如履歷)轉換為PDF? IronPDF為您提供幫助。 只需調用`RenderDocxAsPDF`方法即可轉換。
```cs
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/docx-to-pdf/)。
### 將RTF轉換為PDF
要將RTF文件轉換為PDF,我們調用`RenderRtfFileAsPdf`方法,將RTF文件作為輸入。
```cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render from RTF file
PdfDocument pdf = renderer.RenderRtfFileAsPdf("sample.rtf");
// Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/rtf-to-pdf/)。
### 將MD轉換為PDF
要將MD轉換為PDF,我們可以將MD文件作為輸入調用`RenderMarkdownFileAsPdf`方法。
```cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render from markdown file
PdfDocument pdf = renderer.RenderMarkdownFileAsPdf("sample.md");
// Save the PDF
pdf.SaveAs("pdfFromMarkdownFile.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/md-to-pdf/)。
### 將XML轉換為PDF
雖然將XML轉換為PDF可能相當具有挑戰性,但IronPDF依然迎難而上,幫助在幾個步驟內將XML轉換為PDF。 我們先從XLST模板開始,然後通過XLST轉換將XML轉換為PDF。 以下是一個簡化的程式碼片段,幫助您入門。
```cs
// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
<html>
<style>
td{
text-align: center;
padding: 20px;
border: 1px solid #CDE7F0;
}
th{
color: white;
padding: 20px;
}
</style>
<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>
<table style='border-collapse: collapse;'>
<thead>
<tr>
<th colspan='3'>
<img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>
</th>
</tr>
</thead>
<tbody>
<tr bgcolor='#9acd32'>
<th bgcolor='#32ab90'>Title</th>
<th bgcolor='#f49400'>Feature</th>
<th bgcolor='#2a95d5'>Compatible</th>
</tr>
<xsl:for-each select='catalog/cd'>
<tr>
<td style='font-weight: bold;'><xsl:value-of select='title'/></td>
<td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>
<td><xsl:value-of select='compatible'/></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
";
[...]
// Create an instance of XslCompiledTransform
XslCompiledTransform transform = new XslCompiledTransform();
// Load the XSLT from a string
using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
{
transform.Load(reader);
}
// Transform the XML to HTML
StringWriter results = new StringWriter();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
transform.Transform(reader, null, results);
}
// Create a renderer for converting HTML to PDF
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
// Options, headers, and footers may be set here if needed
// Render our XML as a PDF via XSLT transformation
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/xml-to-pdf/)。
### 將PDF轉換為HTML
除了將各種格式轉換為PDF外,IronPDF還支持將PDF轉換為HTML的相反操作。 這是一個快速的程式碼片段來展示該功能。
```cs
using IronPdf;
using System;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);
// Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/pdf-to-html/)。
## 動態網頁到PDF
您需要將動態網頁以保留精確的版面佈局和格式轉換為PDF嗎? 不妨試試IronPDF,它可以快速將多種流行的動態網頁框架轉換為PDF。
### 從ASPX頁面生成PDF
這是一個簡短的程式碼片段,用於在Active Server Pages中將ASPX頁面轉換為PDF。
```cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
}
}
}
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/aspx-to-pdf/)。
### XAML到PDF (MAUI)
.NET MAUI是在跨平台應用程式開發中受到歡迎的框架選擇之一。 IronPDF完全支持將XAML轉換為PDF,僅需幾個步驟。
```cs
using IronPdf.Extensions.Maui;
namespace mauiSample;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void PrintToPdf(object sender, EventArgs e)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply HTML header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<h1>Header</h1>",
};
// Render PDF from Maui Page
PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;
pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
}
}
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/xaml-to-pdf-maui/)。
### 生成PDF報告
在生成PDF報告時,確切的尺寸和格式至關重要。 為此,IronPDF允許您僅需幾個步驟即可無縫生成PDF。
```cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/csharp-pdf-reports/)。
### 在Blazor伺服器中建立PDF
IronPDF支持.NET 6,由於其包含Blazor等專案型別,這個程式碼片段提供了一個簡短的範例,說明如何在Blazor伺服器中建立PDF。
```csharp
@code {
// Model to bind user input
private InputHTMLModel _InputMsgModel = new InputHTMLModel();
private async Task SubmitHTML()
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Create a renderer to convert HTML to PDF
var render = new IronPdf.ChromePdfRenderer();
// Render the HTML input into a PDF document
var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);
var fileName = "iron.pdf";
// Create a stream reference for the PDF content
using var streamRef = new DotNetStreamReference(stream: doc.Stream);
// Invoke JavaScript function to download the PDF in the browser
await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
}
public class InputHTMLModel
{
public string HTML { get; set; } = "My new message";
}
}
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/blazor-tutorial/)。
### Razor到PDF (Blazor伺服器)
除了在Blazor伺服器中建立PDF外,IronPDF還支持從Blazor頁面中的Razor元件生成PDF文件。 使PDF文件和頁面建立更加流線化。
```csharp
[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
protected override async Task OnInitializedAsync()
{
persons = new List<PersonInfo>
{
new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
}
private async void PrintToPdf()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply text footer
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} - {time}",
DrawDividerLine = true,
RightText = "Page {page} of {total-pages}",
Font = IronSoftware.Drawing.FontTypes.Arial,
FontSize = 11
};
Parameters.Add("persons", persons);
// Render razor component to PDF
PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/razor-to-pdf-blazor-server/)。
### CSHTML到PDF
將CSHTML(Razor)轉換為PDF可以讓您直接從網頁應用程式生成專業的、可列印文件。 這對發票、報告、合同或任何動態內容都很有用。 IronPDF支持Razor頁面、MVC核心、MVC框架以及無頭渲染,使其能夠無縫整合PDF生成功能到您的.NET應用程式中,只需幾行程式碼。
#### CSHTML到PDF (Razor頁面)
```csharp
using IronPdf.Razor.Pages;
public IActionResult OnPostAsync()
{
persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
ViewData["personList"] = persons;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor Page to PDF document
PdfDocument pdf = renderer.RenderRazorToPdf(this);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/cshtml-to-pdf-razor/)。
#### CSHTML到PDF (MVC核心)
```csharp
public async Task<IActionResult> Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
Response.Headers.Add("Content-Disposition", "inline");
// Output PDF document
return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
}
return View(persons);
}
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/cshtml-to-pdf-mvc-core/)。
#### CSHTML到PDF (MVC框架)
```csharp
public ActionResult Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (HttpContext.Request.HttpMethod == "POST")
{
// Provide the path to your view file
var viewPath = "~/Views/Home/Persons.cshtml";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor view to PDF document
PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
Response.Headers.Add("Content-Disposition", "inline");
// View the PDF
return File(pdf.BinaryData, "application/pdf");
}
return View(persons);
}
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/cshtml-to-pdf-mvc-framework/)。
#### CSHTML到PDF (無頭)
```csharp
app.MapGet("/PrintPdf", async () =>
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Enable detailed logging for troubleshooting
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
// Render the Razor view to an HTML string
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
// Create a new instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string as a PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
// Return the PDF file as a response
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/cshtml-to-pdf-razor-headlessly/)。
## 網頁可存取性
### TLS網站和系統登入
IronPDF為需要身份驗證的網頁提供了一個簡單的轉換解決方案。 通過其渲染選項,使用者可以使用`ChromeHttpLoginCredntials`屬性繞過使用者名和密碼。
```cs
using IronPdf;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer
{
// setting login credentials to bypass basic authentication
LoginCredentials = new ChromeHttpLoginCredentials()
{
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
}
};
var uri = new Uri("http://localhost:51169/Invoice");
// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);
// Export PDF
pdf.SaveAs("UrlToPdfExample.Pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/logins/)。
### Cookies
將cookies應用於附加的登入請求,以確保您的會話被保存! 這將使IronPDF內在鎖定域中渲染額外的資源變得更加容易。
```cs
using IronPdf;
// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;
ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
};
string uri = "http://localhost:51169/Invoice";
// Apply cookies
renderer.ApplyCookies(uri, credentials);
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/cookies/)。
### HTTP請求頭
除了cookies,IronPDF還允許使用者自定義其HTTP請求頭,新增授權令牌和其他相關常用字段。
```cs
using IronPdf;
using System.Collections.Generic;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HttpRequestHeaders = new Dictionary<string, string>
{
{ "Authorization", "Bearer test-token-123" }
};
// Render PDF from authenticated page
var pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer");
pdf.SaveAs("output.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/http-request-header/)。
## 定制化PDF轉換
### 渲染選項
IronPDF允許使用者自定義生成的PDF的外觀和格式。 用於轉換各種輸入為PDF的`RenderingOptions`屬性,使使用者可以控制輸出的外觀。
```cs
using IronPdf;
// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
// HTML fragment to add a header at the top of every page in the PDF.
HtmlFragment = "<h1>Header Content</h1>"
};
// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);
// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;
// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";
// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);
// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/rendering-options/)。
### 設定自訂邊距
您可以通過調整邊距進一步定制輸出PDF的外觀,讓您可以精確控制佈局和間距。
```cs
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/custom-margins/)。
### 灰度
要生成灰度PDF,我們在`GrayScale`屬性設為true。
```cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Set GrayScale to true
renderer.RenderingOptions.GrayScale = true;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironsoftware.com/");
pdf.CopyPage(0).SaveAs("test.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/color-grayscale/)。
## 優化PDF版面
### 新增目錄
使用IronPDF建立動態目錄,幫助讀者輕鬆瀏覽您的文件。 IronPDF自動處理目錄,新增指向標題如`h2`的超連結。 此外,您還可以使用HTML和CSS樣式自定義目錄的樣式。
```cs
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure render options
renderer.RenderingOptions = new ChromePdfRenderOptions
{
// Enable table of content feature
TableOfContents = TableOfContentsTypes.WithPageNumbers,
};
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableOfContent.html");
pdf.SaveAs("tableOfContents.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/table-of-contents/)。
### 分頁符
在部分之間新增分頁符,以明確分隔內容並改善文件的可讀性。 使用IronPDF,只需使用HTML `div style= page-break-after`即可實現該效果。
```cs
using IronPdf;
const string html = @"
<table style='border: 1px solid #000000'>
<tr>
<th>Company</th>
<th>Product</th>
</tr>
<tr>
<td>Iron Software</td>
<td>IronPDF</td>
</tr>
<tr>
<td>Iron Software</td>
<td>IronOCR</td>
</tr>
</table>
<div style='page-break-after: always;'> </div>
<img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/html-to-pdf-page-breaks/)。
### 適合紙張和縮放
需要幫助決定如何根據指定紙張尺寸調整內容的尺寸嗎?IronPDF可透過`UseChromeDefault`為您解決這一問題,它模仿了Google Chrome的列印預覽如何縮放內容以適應頁面。
```cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();
// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("chromeDefault.pdf");
```
如需本程式碼片段的詳細說明及其更多功能,請參閱我們的綜合[操作指南](https://ironpdf.com/how-to/viewport-zoom/)。
## 結論
上述例子展示了當使用IronPDF將各種格式轉換為PDF時,您可以解鎖的令人印象深刻的功能和突出的特點。
如果您希望請求一個功能或對IronPDF或授權有一般性問題,請[聯絡我們的支援團隊](/troubleshooting/engineering-request-pdf/)。 我們將非常樂意為您提供幫助。
using IronPdf;// Instantiate Renderervar 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 Streampdf.SaveAs("output.pdf");
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");
ImportsIronPdf' Instantiate RendererPrivate 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 Streampdf.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")
using IronPdf;using IronPdf.Engines.Chrome;using IronPdf.Rendering;var renderer = new ChromePdfRenderer{RenderingOptions = new ChromePdfRenderOptions {CssMediaType = PdfCssMediaType.Print,MarginBottom = 0,MarginLeft = 0,MarginRight = 0,MarginTop = 0,Timeout = 120, },};renderer.RenderingOptions.WaitFor.RenderDelay(50);// Create a PDF from an existing HTML file using C#var pdf = renderer.RenderHtmlFileAsPdf("example.html");// Export to a file or Streampdf.SaveAs("output.pdf");
using IronPdf;
using IronPdf.Engines.Chrome;
using IronPdf.Rendering;
var renderer = new ChromePdfRenderer
{
RenderingOptions = new ChromePdfRenderOptions
{
CssMediaType = PdfCssMediaType.Print,
MarginBottom = 0,
MarginLeft = 0,
MarginRight = 0,
MarginTop = 0,
Timeout = 120,
},
};
renderer.RenderingOptions.WaitFor.RenderDelay(50);
// Create a PDF from an existing HTML file using C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
ImportsIronPdfImportsIronPdf.Engines.ChromeImportsIronPdf.RenderingPrivate renderer = New ChromePdfRendererWith { .RenderingOptions = New ChromePdfRenderOptionsWith { .CssMediaType = PdfCssMediaType.Print, .MarginBottom = 0, .MarginLeft = 0, .MarginRight = 0, .MarginTop = 0, .Timeout = 120 }}renderer.RenderingOptions.WaitFor.RenderDelay(50)' Create a PDF from an existing HTML file using C#Dim pdf = renderer.RenderHtmlFileAsPdf("example.html")' Export to a file or Streampdf.SaveAs("output.pdf")
Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports IronPdf.Rendering
Private renderer = New ChromePdfRenderer With {
.RenderingOptions = New ChromePdfRenderOptions With {
.CssMediaType = PdfCssMediaType.Print,
.MarginBottom = 0,
.MarginLeft = 0,
.MarginRight = 0,
.MarginTop = 0,
.Timeout = 120
}
}
renderer.RenderingOptions.WaitFor.RenderDelay(50)
' Create a PDF from an existing HTML file using C#
Dim pdf = renderer.RenderHtmlFileAsPdf("example.html")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
using IronPdf;// Instantiate Renderervar renderer = new ChromePdfRenderer();// Create a PDF from a URL or local file pathvar pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");// Export to a file or Streampdf.SaveAs("url.pdf");
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
ImportsIronPdf' Instantiate RendererPrivate renderer = New ChromePdfRenderer()' Create a PDF from a URL or local file pathPrivate pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")' Export to a file or Streampdf.SaveAs("url.pdf")
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
using IronPdf;string imagePath = "meetOurTeam.jpg";// Convert an image to a PDFPdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);// Export the PDFpdf.SaveAs("imageToPdf.pdf");
using IronPdf;
string imagePath = "meetOurTeam.jpg";
// Convert an image to a PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);
// Export the PDF
pdf.SaveAs("imageToPdf.pdf");
ImportsIronPdfPrivate imagePath AsString = "meetOurTeam.jpg"' Convert an image to a PDFPrivate pdf AsPdfDocument = ImageToPdfConverter.ImageToPdf(imagePath)' Export the PDFpdf.SaveAs("imageToPdf.pdf")
Imports IronPdf
Private imagePath As String = "meetOurTeam.jpg"
' Convert an image to a PDF
Private pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePath)
' Export the PDF
pdf.SaveAs("imageToPdf.pdf")
using IronPdf;// Instantiate RendererChromePdfRenderer renderer = new ChromePdfRenderer();// Render PDF from web URLPdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");// Export images from PDFpdf.RasterizeToImageFiles("wikipage_*.png");
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png");
ImportsIronPdf' Instantiate RendererDim renderer As New ChromePdfRenderer()' Render PDF from web URLDim pdf AsPdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")' Export images from PDFpdf.RasterizeToImageFiles("wikipage_*.png")
Imports IronPdf
' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()
' Render PDF from web URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png")
using IronPdf;// Instantiate RendererDocxToPdfRenderer renderer = new DocxToPdfRenderer();// Render from DOCX filePdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");// Save the PDFpdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
ImportsIronPdf' Instantiate RendererDim renderer As New DocxToPdfRenderer()' Render from DOCX fileDim pdf AsPdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")' Save the PDFpdf.SaveAs("pdfFromDocx.pdf")
Imports IronPdf
' Instantiate Renderer
Dim renderer As New DocxToPdfRenderer()
' Render from DOCX file
Dim pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
using IronPdf;// Instantiate RendererChromePdfRenderer renderer = new ChromePdfRenderer();// Render from RTF filePdfDocument pdf = renderer.RenderRtfFileAsPdf("sample.rtf");// Save the PDFpdf.SaveAs("pdfFromRtfFile.pdf");
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render from RTF file
PdfDocument pdf = renderer.RenderRtfFileAsPdf("sample.rtf");
// Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf");
ImportsIronPdf' Instantiate RendererPrivate renderer As New ChromePdfRenderer()' Render from RTF filePrivate pdf AsPdfDocument = renderer.RenderRtfFileAsPdf("sample.rtf")' Save the PDFpdf.SaveAs("pdfFromRtfFile.pdf")
Imports IronPdf
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
' Render from RTF file
Private pdf As PdfDocument = renderer.RenderRtfFileAsPdf("sample.rtf")
' Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf")
using IronPdf;// Instantiate RendererChromePdfRenderer renderer = new ChromePdfRenderer();// Render from markdown filePdfDocument pdf = renderer.RenderMarkdownFileAsPdf("sample.md");// Save the PDFpdf.SaveAs("pdfFromMarkdownFile.pdf");
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render from markdown file
PdfDocument pdf = renderer.RenderMarkdownFileAsPdf("sample.md");
// Save the PDF
pdf.SaveAs("pdfFromMarkdownFile.pdf");
ImportsIronPdf' Instantiate RendererPrivate renderer As New ChromePdfRenderer()' Render from markdown filePrivate pdf AsPdfDocument = renderer.RenderMarkdownFileAsPdf("sample.md")' Save the PDFpdf.SaveAs("pdfFromMarkdownFile.pdf")
Imports IronPdf
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
' Render from markdown file
Private pdf As PdfDocument = renderer.RenderMarkdownFileAsPdf("sample.md")
' Save the PDF
pdf.SaveAs("pdfFromMarkdownFile.pdf")
// XSLT template that defines the transformation from XML to HTMLstring xslt = @"<?xml version='1.0' encoding='UTF-8'?><xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'><xsl:template match='/'><html><style>td{ text-align: center; padding: 20px; border: 1px solid #CDE7F0;}th{ color: white; padding: 20px;}</style><body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'> <table style='border-collapse: collapse;'> <thead> <tr> <th colspan='3'> <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/> </th> </tr> </thead> <tbody> <tr bgcolor='#9acd32'> <th bgcolor='#32ab90'>Title</th> <th bgcolor='#f49400'>Feature</th> <th bgcolor='#2a95d5'>Compatible</th> </tr> <xsl:for-each select='catalog/cd'> <tr> <td style='font-weight: bold;'><xsl:value-of select='title'/></td> <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td> <td><xsl:value-of select='compatible'/></td> </tr> </xsl:for-each> </tbody> </table></body></html></xsl:template></xsl:stylesheet>";[...]// Create an instance of XslCompiledTransformXslCompiledTransform transform = new XslCompiledTransform();// Load the XSLT from a stringusing (XmlReader reader = XmlReader.Create(new StringReader(xslt))){ transform.Load(reader);}// Transform the XML to HTMLStringWriter results = new StringWriter();using (XmlReader reader = XmlReader.Create(new StringReader(xml))){ transform.Transform(reader, null, results);}// Create a renderer for converting HTML to PDFIronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();// Options, headers, and footers may be set here if needed// Render our XML as a PDF via XSLT transformationrenderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
<html>
<style>
td{
text-align: center;
padding: 20px;
border: 1px solid #CDE7F0;
}
th{
color: white;
padding: 20px;
}
</style>
<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>
<table style='border-collapse: collapse;'>
<thead>
<tr>
<th colspan='3'>
<img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>
</th>
</tr>
</thead>
<tbody>
<tr bgcolor='#9acd32'>
<th bgcolor='#32ab90'>Title</th>
<th bgcolor='#f49400'>Feature</th>
<th bgcolor='#2a95d5'>Compatible</th>
</tr>
<xsl:for-each select='catalog/cd'>
<tr>
<td style='font-weight: bold;'><xsl:value-of select='title'/></td>
<td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>
<td><xsl:value-of select='compatible'/></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
";
[...]
// Create an instance of XslCompiledTransform
XslCompiledTransform transform = new XslCompiledTransform();
// Load the XSLT from a string
using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
{
transform.Load(reader);
}
// Transform the XML to HTML
StringWriter results = new StringWriter();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
transform.Transform(reader, null, results);
}
// Create a renderer for converting HTML to PDF
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
// Options, headers, and footers may be set here if needed
// Render our XML as a PDF via XSLT transformation
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
ImportsSystem.XmlImportsSystem.IOImportsSystem.Xml.XslImportsIronPdf' XSLT template that defines the transformation from XML to HTMLDim xslt AsString = "<?xml version='1.0' encoding='UTF-8'?>" & _"<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>" & _"<xsl:template match='/'>" & _"<html>" & _"<style>" & _"td{" & _" text-align: center;" & _" padding: 20px;" & _" border: 1px solid #CDE7F0;" & _"}" & _"th{" & _" color: white;" & _" padding: 20px;" & _"}" & _"</style>" & _"<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>" & _" <table style='border-collapse: collapse;'>" & _" <thead>" & _" <tr>" & _" <th colspan='3'>" & _" <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>" & _" </th>" & _" </tr>" & _" </thead>" & _" <tbody>" & _" <tr bgcolor='#9acd32'>" & _" <th bgcolor='#32ab90'>Title</th>" & _" <th bgcolor='#f49400'>Feature</th>" & _" <th bgcolor='#2a95d5'>Compatible</th>" & _" </tr>" & _" <xsl:for-each select='catalog/cd'>" & _" <tr>" & _" <td style='font-weight: bold;'><xsl:value-of select='title'/></td>" & _" <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>" & _" <td><xsl:value-of select='compatible'/></td>" & _" </tr>" & _" </xsl:for-each>" & _" </tbody>" & _" </table>" & _"</body>" & _"</html>" & _"</xsl:template>" & _"</xsl:stylesheet>"[...]' Create an instance of XslCompiledTransformDim transform As New XslCompiledTransform()' Load the XSLT from a stringUsing reader AsXmlReader = XmlReader.Create(New StringReader(xslt)) transform.Load(reader)EndUsing' Transform the XML to HTMLDim results As New StringWriter()Using reader AsXmlReader = XmlReader.Create(New StringReader(xml)) transform.Transform(reader, Nothing, results)EndUsing' Create a renderer for converting HTML to PDFDim renderer As New ChromePdfRenderer()' Options, headers, and footers may be set here if needed' Render our XML as a PDF via XSLT transformationrenderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
Imports System.Xml
Imports System.IO
Imports System.Xml.Xsl
Imports IronPdf
' XSLT template that defines the transformation from XML to HTML
Dim xslt As String = "<?xml version='1.0' encoding='UTF-8'?>" & _
"<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>" & _
"<xsl:template match='/'>" & _
"<html>" & _
"<style>" & _
"td{" & _
" text-align: center;" & _
" padding: 20px;" & _
" border: 1px solid #CDE7F0;" & _
"}" & _
"th{" & _
" color: white;" & _
" padding: 20px;" & _
"}" & _
"</style>" & _
"<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>" & _
" <table style='border-collapse: collapse;'>" & _
" <thead>" & _
" <tr>" & _
" <th colspan='3'>" & _
" <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>" & _
" </th>" & _
" </tr>" & _
" </thead>" & _
" <tbody>" & _
" <tr bgcolor='#9acd32'>" & _
" <th bgcolor='#32ab90'>Title</th>" & _
" <th bgcolor='#f49400'>Feature</th>" & _
" <th bgcolor='#2a95d5'>Compatible</th>" & _
" </tr>" & _
" <xsl:for-each select='catalog/cd'>" & _
" <tr>" & _
" <td style='font-weight: bold;'><xsl:value-of select='title'/></td>" & _
" <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>" & _
" <td><xsl:value-of select='compatible'/></td>" & _
" </tr>" & _
" </xsl:for-each>" & _
" </tbody>" & _
" </table>" & _
"</body>" & _
"</html>" & _
"</xsl:template>" & _
"</xsl:stylesheet>"
[...]
' Create an instance of XslCompiledTransform
Dim transform As New XslCompiledTransform()
' Load the XSLT from a string
Using reader As XmlReader = XmlReader.Create(New StringReader(xslt))
transform.Load(reader)
End Using
' Transform the XML to HTML
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(xml))
transform.Transform(reader, Nothing, results)
End Using
' Create a renderer for converting HTML to PDF
Dim renderer As New ChromePdfRenderer()
' Options, headers, and footers may be set here if needed
' Render our XML as a PDF via XSLT transformation
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
using IronPdf;using System;PdfDocument pdf = PdfDocument.FromFile("sample.pdf");// Convert PDF to HTML stringstring html = pdf.ToHtmlString();Console.WriteLine(html);// Convert PDF to HTML filepdf.SaveAsHtml("myHtml.html");
using IronPdf;
using System;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);
// Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html");
ImportsIronPdfImportsSystemDim pdf AsPdfDocument = PdfDocument.FromFile("sample.pdf")' Convert PDF to HTML stringDim html AsString = pdf.ToHtmlString()Console.WriteLine(html)' Convert PDF to HTML filepdf.SaveAsHtml("myHtml.html")
Imports IronPdf
Imports System
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Convert PDF to HTML string
Dim html As String = pdf.ToHtmlString()
Console.WriteLine(html)
' Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html")
這是一個簡短的程式碼片段,用於在Active Server Pages中將ASPX頁面轉換為PDF。
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using IronPdf;namespace AspxToPdfTutorial{ public partial class Invoice : System.Web.UI.Page { protected voidPage_Load(object sender, EventArgs e) {IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser); } }}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
}
}
}
ImportsSystemImportsSystem.Collections.GenericImportsSystem.LinqImportsSystem.WebImportsSystem.Web.UIImportsSystem.Web.UI.WebControlsImportsIronPdfNamespaceAspxToPdfTutorialPartialPublic Class InvoiceInheritsSystem.Web.UI.PageProtected Sub Page_Load(ByVal sender AsObject, ByVal e AsEventArgs)IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser) End Sub End ClassEndNamespace
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports IronPdf
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
End Sub
End Class
End Namespace
using IronPdf.Extensions.Maui;namespace mauiSample;public partial class MainPage : ContentPage{ publicMainPage() {InitializeComponent(); } private voidPrintToPdf(object sender, EventArgs e) { ChromePdfRenderer renderer = new ChromePdfRenderer(); // Apply HTML header renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() {HtmlFragment = "<h1>Header</h1>", }; // Render PDF from Maui Page PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result; pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf"); }}
using IronPdf.Extensions.Maui;
namespace mauiSample;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void PrintToPdf(object sender, EventArgs e)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply HTML header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<h1>Header</h1>",
};
// Render PDF from Maui Page
PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;
pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
}
}
ImportsIronPdf.Extensions.MauiNamespace mauiSamplePartialPublic Class MainPageInheritsContentPage Public Sub New()InitializeComponent() End Sub Private Sub PrintToPdf(ByVal sender AsObject, ByVal e AsEventArgs) Dim renderer As New ChromePdfRenderer() ' Apply HTML header renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"} ' Render PDF from Maui Page Dim pdf AsPdfDocument = renderer.RenderContentPageToPdf(OfMainPage, App)().Result pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf") End Sub End ClassEndNamespace
Imports IronPdf.Extensions.Maui
Namespace mauiSample
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
End Sub
Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs)
Dim renderer As New ChromePdfRenderer()
' Apply HTML header
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"}
' Render PDF from Maui Page
Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result
pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf")
End Sub
End Class
End Namespace
@code { // Model to bind user input private InputHTMLModel _InputMsgModel = new InputHTMLModel(); private async TaskSubmitHTML() { // Set your IronPDF license keyIronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"; // Create a renderer to convert HTML to PDF var render = new IronPdf.ChromePdfRenderer(); // Render the HTML input into a PDF document var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML); var fileName = "iron.pdf"; // Create a stream reference for the PDF content using var streamRef = new DotNetStreamReference(stream: doc.Stream); // Invoke JavaScript function to download the PDF in the browser awaitJS.InvokeVoidAsync("SubmitHTML", fileName, streamRef); } public class InputHTMLModel { public stringHTML { get; set; } = "My new message"; }}
@code {
// Model to bind user input
private InputHTMLModel _InputMsgModel = new InputHTMLModel();
private async Task SubmitHTML()
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Create a renderer to convert HTML to PDF
var render = new IronPdf.ChromePdfRenderer();
// Render the HTML input into a PDF document
var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);
var fileName = "iron.pdf";
// Create a stream reference for the PDF content
using var streamRef = new DotNetStreamReference(stream: doc.Stream);
// Invoke JavaScript function to download the PDF in the browser
await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
}
public class InputHTMLModel
{
public string HTML { get; set; } = "My new message";
}
}
codeIf True Then ' Model to bind user input privateInputHTMLModel _InputMsgModel = New InputHTMLModel()'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:' private async Task SubmitHTML()' {' ' Set your IronPDF license key' IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";'' ' Create a renderer to convert HTML to PDF' var render = New IronPdf.ChromePdfRenderer();'' ' Render the HTML input into a PDF document' var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);'' var fileName = "iron.pdf";'' ' Create a stream reference for the PDF content' var streamRef = New DotNetStreamReference(stream: doc.Stream);'' ' Invoke JavaScript function to download the PDF in the browser' await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);' }'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:' public class InputHTMLModel' {' public string HTML' {' get;' set;' } = "My new message";' }End If
code
If True Then
' Model to bind user input
private InputHTMLModel _InputMsgModel = New InputHTMLModel()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' private async Task SubmitHTML()
' {
' ' Set your IronPDF license key
' IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
'
' ' Create a renderer to convert HTML to PDF
' var render = New IronPdf.ChromePdfRenderer();
'
' ' Render the HTML input into a PDF document
' var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);
'
' var fileName = "iron.pdf";
'
' ' Create a stream reference for the PDF content
' var streamRef = New DotNetStreamReference(stream: doc.Stream);
'
' ' Invoke JavaScript function to download the PDF in the browser
' await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
' }
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public class InputHTMLModel
' {
' public string HTML
' {
' get;
' set;
' } = "My new message";
' }
End If
[Parameter]publicIEnumerable<PersonInfo> persons { get; set; }publicDictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();protected override async TaskOnInitializedAsync(){ persons = new List<PersonInfo> { new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } };}private async voidPrintToPdf(){ ChromePdfRenderer renderer = new ChromePdfRenderer(); // Apply text footer renderer.RenderingOptions.TextFooter = new TextHeaderFooter() {LeftText = "{date} - {time}",DrawDividerLine = true,RightText = "Page {page} of {total-pages}",Font = IronSoftware.Drawing.FontTypes.Arial,FontSize = 11 };Parameters.Add("persons", persons); // Render razor component to PDF PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);}
[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
protected override async Task OnInitializedAsync()
{
persons = new List<PersonInfo>
{
new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
}
private async void PrintToPdf()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply text footer
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} - {time}",
DrawDividerLine = true,
RightText = "Page {page} of {total-pages}",
Font = IronSoftware.Drawing.FontTypes.Arial,
FontSize = 11
};
Parameters.Add("persons", persons);
// Render razor component to PDF
PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}
<Parameter>Public Property persons AsIEnumerable(OfPersonInfo)Public Property ParametersAsDictionary(OfString, Object) = New Dictionary(OfString, Object)()ProtectedOverridesAsync Function OnInitializedAsync() AsTask persons = New List(OfPersonInfo) From { New PersonInfoWith {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"}, New PersonInfoWith {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"}, New PersonInfoWith {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"} }End FunctionPrivateAsync Sub PrintToPdf() Dim renderer As New ChromePdfRenderer() ' Apply text footer renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With { .LeftText = "{date} - {time}", .DrawDividerLine = True, .RightText = "Page {page} of {total-pages}", .Font = IronSoftware.Drawing.FontTypes.Arial, .FontSize = 11 }Parameters.Add("persons", persons) ' Render razor component to PDF Dim pdf AsPdfDocument = renderer.RenderRazorComponentToPdf(OfPerson)(Parameters)File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData)End Sub
<Parameter>
Public Property persons As IEnumerable(Of PersonInfo)
Public Property Parameters As Dictionary(Of String, Object) = New Dictionary(Of String, Object)()
Protected Overrides Async Function OnInitializedAsync() As Task
persons = New List(Of PersonInfo) From {
New PersonInfo With {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"},
New PersonInfo With {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"},
New PersonInfo With {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"}
}
End Function
Private Async Sub PrintToPdf()
Dim renderer As New ChromePdfRenderer()
' Apply text footer
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} - {time}",
.DrawDividerLine = True,
.RightText = "Page {page} of {total-pages}",
.Font = IronSoftware.Drawing.FontTypes.Arial,
.FontSize = 11
}
Parameters.Add("persons", persons)
' Render razor component to PDF
Dim pdf As PdfDocument = renderer.RenderRazorComponentToPdf(Of Person)(Parameters)
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData)
End Sub
using IronPdf.Razor.Pages;public IActionResultOnPostAsync(){ persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } };ViewData["personList"] = persons; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render Razor Page to PDF document PdfDocument pdf = renderer.RenderRazorToPdf(this);Response.Headers.Add("Content-Disposition", "inline"); returnFile(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");}
using IronPdf.Razor.Pages;
public IActionResult OnPostAsync()
{
persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
ViewData["personList"] = persons;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor Page to PDF document
PdfDocument pdf = renderer.RenderRazorToPdf(this);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}
ImportsIronPdf.Razor.PagesPublic Function OnPostAsync() AsIActionResult persons = New List(OfPerson) From { New PersonWith {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"}, New PersonWith {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"}, New PersonWith {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"} }ViewData("personList") = persons Dim renderer As New ChromePdfRenderer() ' Render Razor Page to PDF document Dim pdf AsPdfDocument = renderer.RenderRazorToPdf(Me) Response.Headers.Add("Content-Disposition", "inline") ReturnFile(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf")End Function
Imports IronPdf.Razor.Pages
Public Function OnPostAsync() As IActionResult
persons = New List(Of Person) From {
New Person With {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"},
New Person With {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"},
New Person With {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"}
}
ViewData("personList") = persons
Dim renderer As New ChromePdfRenderer()
' Render Razor Page to PDF document
Dim pdf As PdfDocument = renderer.RenderRazorToPdf(Me)
Response.Headers.Add("Content-Disposition", "inline")
Return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf")
End Function
public async Task<IActionResult> Persons(){ var persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method) { ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render View to PDF document PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);Response.Headers.Add("Content-Disposition", "inline"); // Output PDF document returnFile(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf"); } returnView(persons);}
public async Task<IActionResult> Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render View to PDF document
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
Response.Headers.Add("Content-Disposition", "inline");
// Output PDF document
return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
}
return View(persons);
}
PublicAsync Function Persons() AsTask(OfIActionResult) Dim persons = New List(OfPerson) From { New PersonWith {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"}, New PersonWith {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"}, New PersonWith {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"} } If _httpContextAccessor.HttpContext.Request.Method = HttpMethod.Post.MethodThen Dim renderer As New ChromePdfRenderer() ' Render View to PDF document Dim pdf AsPdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons) Response.Headers.Add("Content-Disposition", "inline") ' Output PDF document ReturnFile(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf") End If ReturnView(persons)End Function
Public Async Function Persons() As Task(Of IActionResult)
Dim persons = New List(Of Person) From {
New Person With {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"},
New Person With {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"},
New Person With {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"}
}
If _httpContextAccessor.HttpContext.Request.Method = HttpMethod.Post.Method Then
Dim renderer As New ChromePdfRenderer()
' Render View to PDF document
Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons)
Response.Headers.Add("Content-Disposition", "inline")
' Output PDF document
Return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf")
End If
Return View(persons)
End Function
public ActionResultPersons(){ var persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; if (HttpContext.Request.HttpMethod == "POST") { // Provide the path to your view file var viewPath = "~/Views/Home/Persons.cshtml"; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render Razor view to PDF document PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);Response.Headers.Add("Content-Disposition", "inline"); // View the PDF returnFile(pdf.BinaryData, "application/pdf"); } returnView(persons);}
public ActionResult Persons()
{
var persons = new List<Person>
{
new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
};
if (HttpContext.Request.HttpMethod == "POST")
{
// Provide the path to your view file
var viewPath = "~/Views/Home/Persons.cshtml";
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render Razor view to PDF document
PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
Response.Headers.Add("Content-Disposition", "inline");
// View the PDF
return File(pdf.BinaryData, "application/pdf");
}
return View(persons);
}
Public Function Persons() AsActionResult Dim persons = New List(OfPerson) From { New PersonWith {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"}, New PersonWith {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"}, New PersonWith {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"} } IfHttpContext.Request.HttpMethod = "POST" Then ' Provide the path to your view file Dim viewPath = "~/Views/Home/Persons.cshtml" Dim renderer As New ChromePdfRenderer() ' Render Razor view to PDF document Dim pdf AsPdfDocument = renderer.RenderView(Me.HttpContext, viewPath, persons) Response.Headers.Add("Content-Disposition", "inline") ' View the PDF ReturnFile(pdf.BinaryData, "application/pdf") End If ReturnView(persons)End Function
Public Function Persons() As ActionResult
Dim persons = New List(Of Person) From {
New Person With {.Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer"},
New Person With {.Name = "Bob", .Title = "Mr.", .Description = "Software Engineer"},
New Person With {.Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer"}
}
If HttpContext.Request.HttpMethod = "POST" Then
' Provide the path to your view file
Dim viewPath = "~/Views/Home/Persons.cshtml"
Dim renderer As New ChromePdfRenderer()
' Render Razor view to PDF document
Dim pdf As PdfDocument = renderer.RenderView(Me.HttpContext, viewPath, persons)
Response.Headers.Add("Content-Disposition", "inline")
' View the PDF
Return File(pdf.BinaryData, "application/pdf")
End If
Return View(persons)
End Function
app.MapGet("/PrintPdf", async () =>{ // Set your IronPDF license keyIronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"; // Enable detailed logging for troubleshootingIronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All; // Render the Razor view to an HTML string string html = awaitRazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml"); // Create a new instance of ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the HTML string as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot"); // Return the PDF file as a response returnResults.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");});
app.MapGet("/PrintPdf", async () =>
{
// Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
// Enable detailed logging for troubleshooting
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
// Render the Razor view to an HTML string
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
// Create a new instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string as a PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
// Return the PDF file as a response
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
ImportsIronPdfImportsMicrosoft.AspNetCore.Httpapp.MapGet("/PrintPdf", Async Function() AsTask(OfIResult) ' Set your IronPDF license keyIronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01" ' Enable detailed logging for troubleshootingIronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All ' Render the Razor view to an HTML string Dim html AsString = AwaitRazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml") ' Create a new instance of ChromePdfRenderer Dim renderer As New ChromePdfRenderer() ' Render the HTML string as a PDF document Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(html, "./wwwroot") ' Return the PDF file as a response ReturnResults.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf")End Function)
Imports IronPdf
Imports Microsoft.AspNetCore.Http
app.MapGet("/PrintPdf", Async Function() As Task(Of IResult)
' Set your IronPDF license key
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
' Enable detailed logging for troubleshooting
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
' Render the Razor view to an HTML string
Dim html As String = Await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml")
' Create a new instance of ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Render the HTML string as a PDF document
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, "./wwwroot")
' Return the PDF file as a response
Return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf")
End Function)
using IronPdf;using System;ChromePdfRenderer renderer = new ChromePdfRenderer{ // setting login credentials to bypass basic authenticationLoginCredentials = new ChromeHttpLoginCredentials() {NetworkUsername = "testUser",NetworkPassword = "testPassword" }};var uri = new Uri("http://localhost:51169/Invoice");// Render web URL to PDFPdfDocument pdf = renderer.RenderUrlAsPdf(uri);// Export PDFpdf.SaveAs("UrlToPdfExample.Pdf");
using IronPdf;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer
{
// setting login credentials to bypass basic authentication
LoginCredentials = new ChromeHttpLoginCredentials()
{
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
}
};
var uri = new Uri("http://localhost:51169/Invoice");
// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);
// Export PDF
pdf.SaveAs("UrlToPdfExample.Pdf");
ImportsIronPdfImportsSystemPrivate renderer As New ChromePdfRendererWith { .LoginCredentials = New ChromeHttpLoginCredentials() With { .NetworkUsername = "testUser", .NetworkPassword = "testPassword" }}Private uri = New Uri("http://localhost:51169/Invoice")' Render web URL to PDFPrivate pdf AsPdfDocument = renderer.RenderUrlAsPdf(uri)' Export PDFpdf.SaveAs("UrlToPdfExample.Pdf")
Imports IronPdf
Imports System
Private renderer As New ChromePdfRenderer With {
.LoginCredentials = New ChromeHttpLoginCredentials() With {
.NetworkUsername = "testUser",
.NetworkPassword = "testPassword"
}
}
Private uri = New Uri("http://localhost:51169/Invoice")
' Render web URL to PDF
Private pdf As PdfDocument = renderer.RenderUrlAsPdf(uri)
' Export PDF
pdf.SaveAs("UrlToPdfExample.Pdf")
using IronPdf;// Instantiate ChromePdfRendererChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {NetworkUsername = "testUser",NetworkPassword = "testPassword"};string uri = "http://localhost:51169/Invoice";// Apply cookiesrenderer.ApplyCookies(uri, credentials);
using IronPdf;
// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;
ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
};
string uri = "http://localhost:51169/Invoice";
// Apply cookies
renderer.ApplyCookies(uri, credentials);
ImportsIronPdf' Instantiate ChromePdfRendererPrivate renderer As New ChromePdfRenderer()renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.GlobalDim credentials As New ChromeHttpLoginCredentials() With { .NetworkUsername = "testUser", .NetworkPassword = "testPassword"}Dim uri AsString = "http://localhost:51169/Invoice"' Apply cookiesrenderer.ApplyCookies(uri, credentials)
Imports IronPdf
' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global
Dim credentials As New ChromeHttpLoginCredentials() With {
.NetworkUsername = "testUser",
.NetworkPassword = "testPassword"
}
Dim uri As String = "http://localhost:51169/Invoice"
' Apply cookies
renderer.ApplyCookies(uri, credentials)
using IronPdf;using System.Collections.Generic;var renderer = new ChromePdfRenderer();renderer.RenderingOptions.HttpRequestHeaders = new Dictionary<string, string>{ { "Authorization", "Bearer test-token-123" }};// Render PDF from authenticated pagevar pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer");pdf.SaveAs("output.pdf");
using IronPdf;
using System.Collections.Generic;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HttpRequestHeaders = new Dictionary<string, string>
{
{ "Authorization", "Bearer test-token-123" }
};
// Render PDF from authenticated page
var pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer");
pdf.SaveAs("output.pdf");
ImportsIronPdfImportsSystem.Collections.GenericDim renderer = New ChromePdfRenderer()renderer.RenderingOptions.HttpRequestHeaders = New Dictionary(OfString, String) From { {"Authorization", "Bearer test-token-123"}}' Render PDF from authenticated pageDim pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer")pdf.SaveAs("output.pdf")
Imports IronPdf
Imports System.Collections.Generic
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.HttpRequestHeaders = New Dictionary(Of String, String) From {
{"Authorization", "Bearer test-token-123"}
}
' Render PDF from authenticated page
Dim pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer")
pdf.SaveAs("output.pdf")
using IronPdf;// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser// to render HTML/CSS as a PDF document.ChromePdfRenderer renderer = new ChromePdfRenderer();// Configure rendering options// Enable printing of HTML backgrounds to ensure all styles are visible.renderer.RenderingOptions.PrintHtmlBackgrounds = true;// Set HTML header content using HtmlHeaderFooter.renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter{ // HTML fragment to add a header at the top of every page in the PDF.HtmlFragment = "<h1>Header Content</h1>"};// Set a custom paper size for the PDF in millimeters (width and height).renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);// Set the top margin to zero to start the content from the very top of the page.renderer.RenderingOptions.MarginTop = 0;// Define a Markdown string that will be rendered as a PDF.// Markdown text allows basic formatting like bold and italic styles.string md = "This is some **bold** and *italic* text.";// Render the Markdown string to a PDF document.// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);// Save the generated PDF to a file named "renderingOptions.pdf."pdf.SaveAs("renderingOptions.pdf");
using IronPdf;
// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
// HTML fragment to add a header at the top of every page in the PDF.
HtmlFragment = "<h1>Header Content</h1>"
};
// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);
// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;
// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";
// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);
// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");
ImportsIronPdf' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser' to render HTML/CSS as a PDF document.Private renderer As New ChromePdfRenderer()' Configure rendering options' Enable printing of HTML backgrounds to ensure all styles are visible.renderer.RenderingOptions.PrintHtmlBackgrounds = True' Set HTML header content using HtmlHeaderFooter.renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooterWith {.HtmlFragment = "<h1>Header Content</h1>"}' Set a custom paper size for the PDF in millimeters (width and height).renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150)' Set the top margin to zero to start the content from the very top of the page.renderer.RenderingOptions.MarginTop = 0' Define a Markdown string that will be rendered as a PDF.' Markdown text allows basic formatting like bold and italic styles.Dim md AsString = "This is some **bold** and *italic* text."' Render the Markdown string to a PDF document.' The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.Dim pdf AsPdfDocument = renderer.RenderMarkdownStringAsPdf(md)' Save the generated PDF to a file named "renderingOptions.pdf."pdf.SaveAs("renderingOptions.pdf")
Imports IronPdf
' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
' to render HTML/CSS as a PDF document.
Private renderer As New ChromePdfRenderer()
' Configure rendering options
' Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = True
' Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {.HtmlFragment = "<h1>Header Content</h1>"}
' Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150)
' Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0
' Define a Markdown string that will be rendered as a PDF.
' Markdown text allows basic formatting like bold and italic styles.
Dim md As String = "This is some **bold** and *italic* text."
' Render the Markdown string to a PDF document.
' The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
Dim pdf As PdfDocument = renderer.RenderMarkdownStringAsPdf(md)
' Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf")
Dim renderer As New ChromePdfRenderer()renderer.RenderingOptions.MarginTop = 40renderer.RenderingOptions.MarginLeft = 20renderer.RenderingOptions.MarginRight = 20renderer.RenderingOptions.MarginBottom = 40
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 40
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.MarginBottom = 40
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();// Set GrayScale to truerenderer.RenderingOptions.GrayScale = true;PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironsoftware.com/");pdf.CopyPage(0).SaveAs("test.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Set GrayScale to true
renderer.RenderingOptions.GrayScale = true;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironsoftware.com/");
pdf.CopyPage(0).SaveAs("test.pdf");
ImportsIronPdfDim renderer As New ChromePdfRenderer()' Set GrayScale to truerenderer.RenderingOptions.GrayScale = TrueDim pdf AsPdfDocument = renderer.RenderUrlAsPdf("https://ironsoftware.com/")pdf.CopyPage(0).SaveAs("test.pdf")
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Set GrayScale to true
renderer.RenderingOptions.GrayScale = True
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironsoftware.com/")
pdf.CopyPage(0).SaveAs("test.pdf")
using IronPdf;// Instantiate RendererChromePdfRenderer renderer = new ChromePdfRenderer();// Configure render optionsrenderer.RenderingOptions = new ChromePdfRenderOptions{ // Enable table of content featureTableOfContents = TableOfContentsTypes.WithPageNumbers,};PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableOfContent.html");pdf.SaveAs("tableOfContents.pdf");
using IronPdf;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure render options
renderer.RenderingOptions = new ChromePdfRenderOptions
{
// Enable table of content feature
TableOfContents = TableOfContentsTypes.WithPageNumbers,
};
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableOfContent.html");
pdf.SaveAs("tableOfContents.pdf");
ImportsIronPdf' Instantiate RendererPrivate renderer As New ChromePdfRenderer()' Configure render optionsrenderer.RenderingOptions = New ChromePdfRenderOptionsWith {.TableOfContents = TableOfContentsTypes.WithPageNumbers}Dim pdf AsPdfDocument = renderer.RenderHtmlFileAsPdf("tableOfContent.html")pdf.SaveAs("tableOfContents.pdf")
Imports IronPdf
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
' Configure render options
renderer.RenderingOptions = New ChromePdfRenderOptions With {.TableOfContents = TableOfContentsTypes.WithPageNumbers}
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("tableOfContent.html")
pdf.SaveAs("tableOfContents.pdf")
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();// Chrome default renderingrenderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();// Render web URL to PDFPdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");pdf.SaveAs("chromeDefault.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();
// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("chromeDefault.pdf");
ImportsIronPdfPrivate renderer As New ChromePdfRenderer()' Chrome default renderingrenderer.RenderingOptions.PaperFit.UseChromeDefaultRendering()' Render web URL to PDFDim pdf AsPdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")pdf.SaveAs("chromeDefault.pdf")
Imports IronPdf
Private renderer As New ChromePdfRenderer()
' Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering()
' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
pdf.SaveAs("chromeDefault.pdf")