# How to Convert HTML to PDF in C# .NET Core
Konwersja do PDF z różnych formatów może być wyzwaniem ze względu na rygorystyczne standardy formatu PDF. Konwersja w wielu przypadkach może nie dać jednego do jednego wyniku, zwłaszcza gdy mamy do czynienia ze stylami HTML i CSS. Jednak we współczesnej cyfrowej rzeczywistości zdolność do konwersji URL-i i formularzy - w tym tych z HTML i CSS - jest niezbędna. Tu z pomocą przychodzi IronPDF, oferując intuicyjne funkcje, które umożliwiają deweloperom konwersję szerokiego zakresu formatów do PDF z wysoką wiernością, często w zaledwie kilku liniach kodu.
Dzięki IronPDF można bez wysiłku konwertować HTML, DOCX, RTF, Markdown, a nawet obrazy do PDF, zachowując integralność dokumentów. Obsługuje także konwersję dynamicznych stron internetowych z popularnych frameworków, takich jak Razor, CSHTML, ASPX i XAML, eliminując problemy z kompatybilnością i czyniąc z IronPDF kompleksowe rozwiązanie dla wszystkich potrzeb związanych z konwersją PDF.
Oprócz prostych konwersji, IronPDF oferuje potężne opcje dostosowywania. Możesz dostosować wynikowy PDF, dodając niestandardowe marginesy, nagłówki i stopki, aby dodać numery stron oraz dostosować ustawienia skali szarości w celu zmniejszenia rozmiaru pliku.
W tym poradniku zbadamy te możliwości i inne, dostarczając przykłady kodu i podkreślając kluczowe funkcje IronPDF. Przygotuj się na przekształcenie procesu konwersji PDF, umożliwiając łatwą konwersję, dostosowywanie i optymalizację dokumentów PDF za pomocą IronPDF.
*as-heading:2(Szybki start: Konwertuj HTML do PDF za pomocą IronPDF)*
Rozpocznij przygodę z IronPDF, aby łatwo konwertować HTML do PDF w .NET Core. Za pomocą zaledwie jednej linii kodu możesz renderować doskonałe PDF-y ze stringów HTML, korzystając z potężnego API IronPDF. Ten przewodnik pokaże, jak szybko zintegrować IronPDF z projektem, umożliwiając płynne generowanie PDF przy minimalnej konfiguracji. Niezależnie od tego, czy konwertujesz HTML, URL-e, czy widoki Razor, IronPDF upraszcza proces, czyniąc go dostępnym dla programistów na każdym poziomie. Rozpocznij konwersję już dziś i odkrywaj zaawansowane funkcje, kiedy będziesz gotowy.
```cs
:title=Convert HTML to PDF Instantly
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
```
*as-heading:2(Spis treści)*
- **Wszechstronna konwersja PDF**
- [PDF z łańcucha HTML](#anchor-pdf-from-html-string)
- [PDF z pliku HTML](#anchor-pdf-from-html)
- [PDF z URL-a](#anchor-pdf-from-url)
- [Obraz do PDF](#anchor-image-to-pdf)
- [Obraz z PDF](#anchor-image-from-pdf)
- [Konwertuj DOCX do PDF](#anchor-convert-docx-to-pdf)
- [Konwertuj RTF do PDF](#anchor-convert-rtf-to-pdf)
- [Konwertuj MD do PDF](#anchor-convert-md-to-pdf)
- [Konwertuj XML do PDF](#anchor-convert-xml-to-pdf)
- [PDF do HTML](#anchor-pdf-to-html)
- **Dynamiczna strona internetowa do PDF**
- [PDF ze stron ASPX](#anchor-pdf-from-aspx-pages)
- [XAML do PDF (MAUI)](#anchor-xaml-to-pdf-maui)
- [Generuj raporty PDF](#anchor-generate-pdf-reports)
- [Twórz PDF-y na serwerach Blazor](#anchor-create-pdfs-in-blazor-servers)
- [Razor do PDF (serwer Blazor)](#anchor-razor-to-pdf-blazor-servers)
- [Omówienie CSHTML do PDF](#anchor-cshtml-to-pdf)
- [CSHTML do PDF (strony Razor)](#anchor-cshtml-to-pdf-razor-pages)
- [CSHTML do PDF (MVC Core)](#anchor-cshtml-to-pdf-mvc-core)
- [CSHTML do PDF (MVC Framework)](#anchor-cshtml-to-pdf-mvc-framework)
- [CSHTML do PDF (bez interfejsu)](#anchor-cshtml-to-pdf-headlessly)
- **Dostępność Internetu**
- [TLS, logowania do stron internetowych i systemów](#anchor-tls-website-system-logins)
- [Pliki cookie](#anchor-cookies)
- [Nagłówek żądania HTTP](#anchor-http-request-header)
- **Dopasowana konwersja PDF**
- [Opcje renderowania](#anchor-rendering-options)
- [Ustaw niestandardowe marginesy](#anchor-set-custom-margin)
- [Skala szarości](#anchor-grayscale)
- **Dopracuj układ PDF**
- [Dodaj spis treści](#anchor-add-a-table-of-contents)
- [Podział stron](#anchor-page-break)
- [Dopasuj do papieru i powiększenie](#anchor-fit-to-page-zoom)
## Wszechstronna konwersja PDF
### PDF z łańcucha HTML
Aby skonwertować PDF z ciągu HTML, możemy użyć metody `RenderHtmlAsPdf`, aby szybko przekształcić ciąg HTML w pixel-perfect 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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/html-string-to-pdf/).
### PDF z HTML
Łatwo zamień plik HTML na PDF za pomocą naszej metody `RenderHtmlAsPdf` i szybko zapisz twój pixel-perfect 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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/html-file-to-pdf/).
### PDF z URL-a
Szybko przekonwertuj URL na PDF za pomocą `RenderUrlAsPdf` w zaledwie kilku liniach. Wprowadź URL jako parametr i zapisz z łatwością.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/url-to-pdf/).
### Obraz do PDF
Czy masz obraz, który chcesz wyświetlić jako PDF? Szybko przekonwertuj go za pomocą naszej klasy `ImageToPdfConverter` i wywołaj metodę `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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/image-to-pdf/).
### Obraz z PDF
Dla przeciwieństwa powyższego przykładu, możemy najpierw zamienić wejście w PDF, a następnie użyć metody `RasterizeToImageFiles`, aby skonwertować PDF na obrazy.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/rasterize-pdf-to-images/).
### Konwertuj DOCX do PDF
Czy kiedykolwiek potrzebowałeś łatwo przekonwertować plik DOCX, np. CV, do PDF? IronPDF zapewni Ci to. Po prostu wywołaj metodę `RenderDocxAsPDF`, aby skonwertować.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/docx-to-pdf/).
### Konwertuj RTF do PDF
Aby zamienić plik RTF na PDF, wywołujemy metodę `RenderRtfFileAsPdf` z plikiem RTF jako wejściem.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/rtf-to-pdf/).
### Konwertuj MD do PDF
Aby zamienić MD na PDF, możemy wywołać metodę `RenderMarkdownFileAsPdf` z plikiem MD jako wejściem.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/md-to-pdf/).
### Konwertuj XML do PDF
Chociaż konwersja XML na PDF moze byc wymagajaca, IronPDF wciaż radzi sobie z wyzwaniem i pomaga konwertowac XML na PDF w kilku krokach. Zaczynamy od szablonu XLST, a następnie konwertujemy XML do PDF przez HTML za pomocą transformacji XLST. Oto skrócona wersja fragmentu kodu, aby pomóc Ci zacząć.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/xml-to-pdf/).
### PDF do HTML
Oprócz konwersji różnych formatów do PDF, IronPDF obsługuje także przeciwną operację konwersji PDF na HTML. Oto szybki fragment kodu demonstrujący funkcjonalność.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/pdf-to-html/).
## Dynamiczna strona internetowa do PDF
Czy potrzebujesz, aby Twoja dynamiczna strona internetowa została zachowana i przekonwertowana do PDF, zachowując dokładny układ i formatowanie? Nie szukaj dalej niż IronPDF, które szybko konwertuje różnorodne popularne frameworki dynamicznych stron internetowych do PDF.
### PDF ze stron ASPX
Oto krótki fragment kodu dotyczący konwersji stron ASPX jako PDF w Active Server Pages.
```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);
}
}
}
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/aspx-to-pdf/).
### XAML do PDF (MAUI)
Dla deweloperów szukających budowy aplikacji międzyplatformowych, .NET MAUI jest popularnym wyborem. IronPDF w pełni obsługuje konwersję XAML do PDF w kilku krokach.
```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");
}
}
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/xaml-to-pdf-maui/).
### Generuj raporty PDF
Kiedy chodzi o generowanie raportów PDF, dokładne wymiary i format są kluczowe. W ten sposób, IronPDF pozwala na płynne generowanie PDF w zaledwie kilku krokach.
```cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/csharp-pdf-reports/).
### Twórz PDF-y na serwerach Blazor
IronPDF obsługuje .NET 6, a ponieważ obejmuje typy projektów, takie jak Blazor, ten fragment kodu dostarcza krótkiego przykładu, jak tworzyć PDF-y na serwerach Blazor.
```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";
}
}
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/blazor-tutorial/).
### Razor do PDF (serwer Blazor)
Oprócz tworzenia PDF-ów w Blazor Servers, IronPDF obsługuje również generowanie dokumentów PDF z komponentów Razor wewnątrz strony Blazor. Ułatwiając tworzenie plików i stron 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);
}
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/razor-to-pdf-blazor-server/).
### CSHTML do PDF
Konwersja CSHTML (Razor) do PDF pozwala generować profesjonalne, gotowe do druku dokumenty bezpośrednio z aplikacji internetowych. Jest to przydatne dla faktur, raportów, umów lub treści dynamicznych. IronPDF wspiera Razor Pages, MVC Core i MVC Framework, a także rendering bez interfejsu, co czyni integrację generowania PDF w aplikacjach .NET bezproblemową, za pomocą zaledwie kilku linijek kodu.
#### CSHTML do PDF (strony 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");
}
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/cshtml-to-pdf-razor/).
#### CSHTML do PDF (MVC Core)
```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);
}
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/cshtml-to-pdf-mvc-core/).
#### CSHTML do PDF (MVC Framework)
```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);
}
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/cshtml-to-pdf-mvc-framework/).
#### CSHTML do PDF (bez interfejsu)
```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");
});
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/cshtml-to-pdf-razor-headlessly/).
## Dostępność Internetu
### TLS, logowania do stron internetowych i systemów
IronPDF oferuje łatwe rozwiązanie do konwersji stron internetowych wymagających uwierzytelnienia. Dzięki opcjom renderowania użytkownicy mogą ominąć nazwę użytkownika i hasło, używając właściwości `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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/logins/).
### Pliki cookie
Zastosuj cookies do dodatkowego żądania logowania, aby zapewnić zapis Twojej sesji! To ułatwi renderowanie dodatkowych zasobów w ramach zamkniętej domeny, wszystko za pomocą 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);
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/cookies/).
### Nagłówek żądania HTTP
Oprócz cookies, IronPDF umożliwia użytkownikom dostosowywanie nagłówka żądania HTTP za pomocą tokenów autoryzacyjnych i innych powiązanych pól.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/http-request-header/).
## Dopasuj swoją konwersję PDF
### Opcje renderowania
IronPDF pozwala użytkownikom dostosować wygląd i format generowanych PDF-ów. Klasa `ChromePdfRender`, która jest używana do konwersji różnych wejść na PDF, zawiera również właściwość `RenderingOptions`, pozwalającą użytkownikom kontrolować wygląd wyjścia.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/rendering-options/).
### Ustaw niestandardowe marginesy
Możesz jeszcze bardziej dostosować wygląd wynikowego PDF, regulując marginesy, co pozwala precyzyjnie kontrolować układ i odstępy.
```cs
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/custom-margins/).
### Skala szarości
Aby wygenerować PDF w skali szarości, ustawiamy właściwość `GrayScale` w `RenderingOptions` na 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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/color-grayscale/).
## Dopracuj układ PDF
### Dodaj spis treści
Utwórz dynamiczny spis treści za pomocą IronPDF, aby pomóc czytelnikom łatwo nawigować po dokumencie. IronPDF automatycznie obsługuje spis treści z hiperłączami do nagłówków, takich jak `h1` i `h2`. Oprócz tego, można również dostosować styl spisu treści za pomocą stylizacji HTML i 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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/table-of-contents/).
### Podział stron
Dodaj podziały stron między sekcjami, aby wyraźnie oddzielić treść i poprawić czytelność dokumentu. Z IronPDF wystarczy użyć HTML `div style= page-break-after`, aby osiągnąć ten efekt.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/html-to-pdf-page-breaks/).
### Dopasuj do strony i powiększenie
Potrzebujesz pomocy w określeniu wymiarów treści, aby dopasować je do określonego rozmiaru papieru? IronPDF ma dla ciebie `UseChromeDefault`, który naśladuje sposób, w jaki Google Chrome's print preview skaluje treść, aby pasować do strony.
```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");
```
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym [przewodniku](https://ironpdf.com/how-to/viewport-zoom/).
## Wnioski
Powyższe przykłady ukazują imponujące możliwości i wyróżniające funkcje, które można odkryć, konwertując różne formaty do PDF-ów za pomocą IronPDF.
Jeśli chcesz zapytać o funkcję lub masz ogólne pytania dotyczące IronPDF lub licencjonowania, prosimy [skontaktować się z naszym zespołem wsparcia](/troubleshooting/engineering-request-pdf/). Będziemy bardziej niż szczęśliwi, aby Ci pomóc.
Konwersja do PDF z różnych formatów może być wyzwaniem ze względu na rygorystyczne standardy formatu PDF. Konwersja w wielu przypadkach może nie dać jednego do jednego wyniku, zwłaszcza gdy mamy do czynienia ze stylami HTML i CSS. Jednak we współczesnej cyfrowej rzeczywistości zdolność do konwersji URL-i i formularzy - w tym tych z HTML i CSS - jest niezbędna. Tu z pomocą przychodzi IronPDF, oferując intuicyjne funkcje, które umożliwiają deweloperom konwersję szerokiego zakresu formatów do PDF z wysoką wiernością, często w zaledwie kilku liniach kodu.
Dzięki IronPDF można bez wysiłku konwertować HTML, DOCX, RTF, Markdown, a nawet obrazy do PDF, zachowując integralność dokumentów. Obsługuje także konwersję dynamicznych stron internetowych z popularnych frameworków, takich jak Razor, CSHTML, ASPX i XAML, eliminując problemy z kompatybilnością i czyniąc z IronPDF kompleksowe rozwiązanie dla wszystkich potrzeb związanych z konwersją PDF.
Oprócz prostych konwersji, IronPDF oferuje potężne opcje dostosowywania. Możesz dostosować wynikowy PDF, dodając niestandardowe marginesy, nagłówki i stopki, aby dodać numery stron oraz dostosować ustawienia skali szarości w celu zmniejszenia rozmiaru pliku.
W tym poradniku zbadamy te możliwości i inne, dostarczając przykłady kodu i podkreślając kluczowe funkcje IronPDF. Przygotuj się na przekształcenie procesu konwersji PDF, umożliwiając łatwą konwersję, dostosowywanie i optymalizację dokumentów PDF za pomocą IronPDF.
Szybki start: Konwertuj HTML do PDF za pomocą IronPDF
Rozpocznij przygodę z IronPDF, aby łatwo konwertować HTML do PDF w .NET Core. Za pomocą zaledwie jednej linii kodu możesz renderować doskonałe PDF-y ze stringów HTML, korzystając z potężnego API IronPDF. Ten przewodnik pokaże, jak szybko zintegrować IronPDF z projektem, umożliwiając płynne generowanie PDF przy minimalnej konfiguracji. Niezależnie od tego, czy konwertujesz HTML, URL-e, czy widoki Razor, IronPDF upraszcza proces, czyniąc go dostępnym dla programistów na każdym poziomie. Rozpocznij konwersję już dziś i odkrywaj zaawansowane funkcje, kiedy będziesz gotowy.
1Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf
Install-Package IronPdf
2Skopiuj i uruchom ten fragment kodu.
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
Dim pdf = New IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>")
Dim pdf = New IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>")
3Wdrożenie do testowania w środowisku produkcyjnym
Aby skonwertować PDF z ciągu HTML, możemy użyć metody RenderHtmlAsPdf, aby szybko przekształcić ciąg HTML w pixel-perfect 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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
PDF z HTML
Łatwo zamień plik HTML na PDF za pomocą naszej metody RenderHtmlAsPdf i szybko zapisz twój pixel-perfect 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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
PDF z URL-a
Szybko przekonwertuj URL na PDF za pomocą RenderUrlAsPdf w zaledwie kilku liniach. Wprowadź URL jako parametr i zapisz z łatwością.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Obraz do PDF
Czy masz obraz, który chcesz wyświetlić jako PDF? Szybko przekonwertuj go za pomocą naszej klasy ImageToPdfConverter i wywołaj metodę ImageToPdf.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Obraz z PDF
Dla przeciwieństwa powyższego przykładu, możemy najpierw zamienić wejście w PDF, a następnie użyć metody RasterizeToImageFiles, aby skonwertować PDF na obrazy.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Konwertuj DOCX do PDF
Czy kiedykolwiek potrzebowałeś łatwo przekonwertować plik DOCX, np. CV, do PDF? IronPDF zapewni Ci to. Po prostu wywołaj metodę RenderDocxAsPDF, aby skonwertować.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Konwertuj RTF do PDF
Aby zamienić plik RTF na PDF, wywołujemy metodę RenderRtfFileAsPdf z plikiem RTF jako wejściem.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Konwertuj MD do PDF
Aby zamienić MD na PDF, możemy wywołać metodę RenderMarkdownFileAsPdf z plikiem MD jako wejściem.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Konwertuj XML do PDF
Chociaż konwersja XML na PDF moze byc wymagajaca, IronPDF wciaż radzi sobie z wyzwaniem i pomaga konwertowac XML na PDF w kilku krokach. Zaczynamy od szablonu XLST, a następnie konwertujemy XML do PDF przez HTML za pomocą transformacji XLST. Oto skrócona wersja fragmentu kodu, aby pomóc Ci zacząć.
// 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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
PDF do HTML
Oprócz konwersji różnych formatów do PDF, IronPDF obsługuje także przeciwną operację konwersji PDF na HTML. Oto szybki fragment kodu demonstrujący funkcjonalność.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Dynamiczna strona internetowa do PDF
Czy potrzebujesz, aby Twoja dynamiczna strona internetowa została zachowana i przekonwertowana do PDF, zachowując dokładny układ i formatowanie? Nie szukaj dalej niż IronPDF, które szybko konwertuje różnorodne popularne frameworki dynamicznych stron internetowych do PDF.
PDF ze stron ASPX
Oto krótki fragment kodu dotyczący konwersji stron ASPX jako PDF w Active Server Pages.
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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
XAML do PDF (MAUI)
Dla deweloperów szukających budowy aplikacji międzyplatformowych, .NET MAUI jest popularnym wyborem. IronPDF w pełni obsługuje konwersję XAML do PDF w kilku krokach.
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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Generuj raporty PDF
Kiedy chodzi o generowanie raportów PDF, dokładne wymiary i format są kluczowe. W ten sposób, IronPDF pozwala na płynne generowanie PDF w zaledwie kilku krokach.
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
ImportsIronPdfPrivate renderer As New ChromePdfRenderer()renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf")
Imports IronPdf
Private renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Twórz PDF-y na serwerach Blazor
IronPDF obsługuje .NET 6, a ponieważ obejmuje typy projektów, takie jak Blazor, ten fragment kodu dostarcza krótkiego przykładu, jak tworzyć PDF-y na serwerach Blazor.
@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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Razor do PDF (serwer Blazor)
Oprócz tworzenia PDF-ów w Blazor Servers, IronPDF obsługuje również generowanie dokumentów PDF z komponentów Razor wewnątrz strony Blazor. Ułatwiając tworzenie plików i stron PDF.
[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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
CSHTML do PDF
Konwersja CSHTML (Razor) do PDF pozwala generować profesjonalne, gotowe do druku dokumenty bezpośrednio z aplikacji internetowych. Jest to przydatne dla faktur, raportów, umów lub treści dynamicznych. IronPDF wspiera Razor Pages, MVC Core i MVC Framework, a także rendering bez interfejsu, co czyni integrację generowania PDF w aplikacjach .NET bezproblemową, za pomocą zaledwie kilku linijek kodu.
CSHTML do PDF (strony Razor)
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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
CSHTML do PDF (MVC Core)
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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
CSHTML do PDF (MVC Framework)
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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
CSHTML do PDF (bez interfejsu)
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)
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.
IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.
IronPDF oferuje łatwe rozwiązanie do konwersji stron internetowych wymagających uwierzytelnienia. Dzięki opcjom renderowania użytkownicy mogą ominąć nazwę użytkownika i hasło, używając właściwości ChromeHttpLoginCredntials.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Pliki cookie
Zastosuj cookies do dodatkowego żądania logowania, aby zapewnić zapis Twojej sesji! To ułatwi renderowanie dodatkowych zasobów w ramach zamkniętej domeny, wszystko za pomocą IronPDF.
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)
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Nagłówek żądania HTTP
Oprócz cookies, IronPDF umożliwia użytkownikom dostosowywanie nagłówka żądania HTTP za pomocą tokenów autoryzacyjnych i innych powiązanych pól.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Dopasuj swoją konwersję PDF
Opcje renderowania
IronPDF pozwala użytkownikom dostosować wygląd i format generowanych PDF-ów. Klasa ChromePdfRender, która jest używana do konwersji różnych wejść na PDF, zawiera również właściwość RenderingOptions, pozwalającą użytkownikom kontrolować wygląd wyjścia.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Ustaw niestandardowe marginesy
Możesz jeszcze bardziej dostosować wygląd wynikowego PDF, regulując marginesy, co pozwala precyzyjnie kontrolować układ i odstępy.
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
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Skala szarości
Aby wygenerować PDF w skali szarości, ustawiamy właściwość GrayScale w RenderingOptions na true.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Dopracuj układ PDF
Dodaj spis treści
Utwórz dynamiczny spis treści za pomocą IronPDF, aby pomóc czytelnikom łatwo nawigować po dokumencie. IronPDF automatycznie obsługuje spis treści z hiperłączami do nagłówków, takich jak h1 i h2. Oprócz tego, można również dostosować styl spisu treści za pomocą stylizacji HTML i CSS.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Podział stron
Dodaj podziały stron między sekcjami, aby wyraźnie oddzielić treść i poprawić czytelność dokumentu. Z IronPDF wystarczy użyć HTML div style= page-break-after, aby osiągnąć ten efekt.
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");
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");
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Dopasuj do strony i powiększenie
Potrzebujesz pomocy w określeniu wymiarów treści, aby dopasować je do określonego rozmiaru papieru? IronPDF ma dla ciebie UseChromeDefault, który naśladuje sposób, w jaki Google Chrome's print preview skaluje treść, aby pasować do strony.
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")
Szczegółowe wyjaśnienie tego fragmentu kodu i eksplorowanie jego dodatkowych funkcji znajdziesz w naszym kompleksowym przewodniku.
Wnioski
Powyższe przykłady ukazują imponujące możliwości i wyróżniające funkcje, które można odkryć, konwertując różne formaty do PDF-ów za pomocą IronPDF.
Jeśli chcesz zapytać o funkcję lub masz ogólne pytania dotyczące IronPDF lub licencjonowania, prosimy skontaktować się z naszym zespołem wsparcia. Będziemy bardziej niż szczęśliwi, aby Ci pomóc.
Często Zadawane Pytania
Jak przekonwertować HTML na PDF w .NET Core?
Aby przekonwertować HTML na PDF w .NET Core, użyj biblioteki IronPDF. Najpierw zainstaluj pakiet za pomocą NuGet. Następnie utwórz instancję ChromePdfRenderer i użyj metody RenderHtmlAsPdf, aby przekonwertować ciągi HTML na format PDF.
Jak mogę przekonwertować aktywny adres URL na dokument PDF?
Możesz przekonwertować aktywny adres URL na dokument PDF za pomocą IronPDF, instalując bibliotekę z NuGet, tworząc instancję ChromePdfRenderer i wywołując metodę RenderUrlAsPdf z adresem URL strony internetowej, którą chcesz przekonwertować.
Jakie są kroki konwersji widoków Razor do formatu PDF?
Aby przekonwertować widoki Razor na PDF, należy renderować widok do ciągu znaków HTML, a następnie przekazać go do metody RenderHtmlAsPdf biblioteki IronPDF. Pozwala to na tworzenie dynamicznych plików PDF z widoków MVC z pełnym powiązaniem danych.
Czy istniejące pliki PDF można modyfikować?
Tak, istniejące pliki PDF można modyfikować za pomocą IronPDF. Użyj PdfDocument.FromFile, aby załadować plik PDF, a następnie zastosuj modyfikacje, takie jak scałanie, dodawanie nagłówków/stopek lub zmiana ustawień zabezpieczeń.
Jakie opcje są dostępne do renderowania plików PDF?
IronPDF zapewnia różne opcje renderowania za pośrednictwem ChromePdfRenderOptions. Można dostosować rozmiar papieru, orientację, marginesy i inne parametry, zapewniając, że pliki PDF spełniają określone wymagania dotyczące układu i stylu.
W jaki sposób można wdrożyć pliki PDF w środowisku Docker?
Wdrażaj pliki PDF w środowisku Docker, konfigurując zależności systemu Linux w pliku Dockerfile. Użyj funkcjiIronPdf.Installation.LinuxAndDockerDependenciesAutoConfig biblioteki IronPDF do automatycznego zarządzania zależnościami w aplikacjach kontenerowych.
Czy można dodawać podpisy cyfrowe do plików PDF?
Tak, podpisy cyfrowe można dodawać do plików PDF za pomocą klasy PdfSignature. Wykorzystując metodę Sign i plik certyfikatu, można zapewnić autentyczność i integralność dokumentu.
Jakie funkcje bezpieczeństwa oferuje IronPDF dla plików PDF?
IronPDF oferuje solidne funkcje bezpieczeństwa, w tym ochronę hasłem, szyfrowanie i kontrolę dostępu. Ustaw te funkcje za pomocą właściwości SecuritySettings, aby zarządzać uprawnieniami do przeglądania, drukowania i edycji.
Jak można wyodrębnić tekst i obrazy z dokumentów PDF?
Tekst i obrazy można wyodrębnić z dokumentów PDF za pomocą metod ExtractAllText i ExtractAllImages biblioteki IronPDF. Pozwalają one na przetwarzanie danych z całych dokumentów lub konkretnych stron.
Jak nakładać znaki wodne na pliki PDF?
Znaki wodne można nakładać na pliki PDF, korzystając z właściwości Watermark biblioteki IronPDF wraz z obiektami HtmlStamp. W przypadku bardziej zaawansowanych potrzeb klasa HtmlStamper obsługuje stemple oparte na HTML z możliwością dostosowania stylów.
Czy IronPDF jest kompatybilny z .NET 10 i jak z niego korzystać w projekcie .NET 10?
Tak - IronPDF w pełni obsługuje .NET 10 w ramach swojej wielopłatformowej, nowoczesnej obsługi wersji .NET. Aby używać go w projekcie .NET 10, zainstaluj pakiet IronPdf NuGet, dodaj do niego odwołanie w pliku projektu przeznaczonym dla net10.0, a następnie używaj klas takich jak ChromePdfRenderer i metod takich jak RenderHtmlAsPdf tak samo, jak w poprzednich wersjach .NET. Podczas renderowania lub przetwarzania plików PDF można czerpać korzyści z lepszej wydajności, zmniejszonego zużycia pamięci oraz ulepszeń środowiska uruchomieniowego charakterystycznych dla .NET 10.
Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.