.NET Core'da PDF Dosyaları Nasıl Üretilir

How to Convert HTML to PDF in C# .NET Core

This article was translated from English: Does it need improvement?
Translated
View the article in English

Çeşitli formatlardan PDF'lere dönüştürme, PDF formatının katı standartları nedeniyle zorlayıcı olabilir. Özellikle HTML ve CSS stilizasyonlarıyla uğraşırken, çoğu durumda dönüşüm birebir bir eşleşme sağlamayabilir. Ancak, günümüz dijital ortamında, URL'ler ve HTML ile CSS içeren formlar dahil her şeyi dönüştürebilme becerisi esastır. Bu, IronPDF'nin öne çıktığı yerdir ve geliştiricilere geniş bir format yelpazesini yüksek bağıntılılıkla PDF'ye dönüştürmek için sezgisel özellikler sunar, genellikle sadece birkaç satır kodla.

IronPDF ile HTML, DOCX, RTF, Markdown ve hatta görüntüleri kolaylıkla PDF'ye dönüştürebilir, belgelerinizin bütünlüğünü koruyabilirsiniz. Ayrıca, Razor, CSHTML, ASPX ve XAML gibi popüler çerçevelerden dinamik web sayfalarının dönüştürülmesini destekler, uyumluluk kaygılarını ortadan kaldırır ve IronPDF'yi tüm PDF dönüşüm ihtiyaçlarınız için kapsamlı bir çözüm haline getirir.

Basit dönüştürme işleminin ötesinde, IronPDF güçlü özelleştirme seçenekleri sunar. PDF çıktınızı, özel kenar boşlukları, üst bilgi ve alt bilgilerle sayfa numaraları eklemek ve gri tonlama ayarlarını dosya boyutunu azaltmak için ayarlayabilirsiniz. Belirlenen belge boyutuna mükemmel bir şekilde ölçeklenen içerik, otomatik sayfa kesintileri ve bir içindekiler tablosu gibi ek özellikler ekleyerek belgelerinizi geliştirin.

Bu öğreticide, bu yetenekleri ve daha fazlasını ele alacağız, kod örnekleri sağlayacak ve IronPDF'nin önemli özelliklerini vurgulayacağız. PDF dönüştürme sürecinizi dönüştürmeye hazır olun, PDF belgelerinizi zahmetsizce dönüştürmenize, özelleştirmenize ve optimize etmenize olanak sağlayan IronPDF ile.

Hızlı Başlangıç: HTML'yi IronPDF ile PDF'ye Dönüştür

IronPDF ile başlayarak HTML'yi .NET Core'da zahmetsizce PDF'ye dönüştürün. Yalnızca bir satır kod ile, IronPDF'in güçlü API'sini kullanarak HTML dizelerinden mükemmel pikselli PDF'ler oluşturabilirsiniz. Bu kılavuz, IronPDF'i projenize nasıl hızla entegre edeceğinizi gösterir, minimal kurulumla sorunsuz PDF üretimini sağlar. HTML, URL veya Razor görünümlerini dönüştürüyor olsanız da, IronPDF süreci basitleştirir ve tüm seviyelerdeki geliştiriciler için erişilebilir kılar. Bugün dönüştürmeye başlayın ve hazır olduğunuzda gelişmiş özellikleri keşfedin.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçasını kopyalayıp çalıştırın.

    var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

İçindekiler

Çok Yönlü PDF Dönüşümü

HTML Dizisinden PDF

Bir HTML dizesinden PDF'e dönüştürmek için, HTML dizesini piksellik olarak mükemmel bir PDF'e hızlıca dönüştürmek için RenderHtmlAsPdf yöntemini kullanabiliriz.

:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf.cs
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()

' Create a PDF from a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

' Export to a file or Stream
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

HTML'den PDF

RenderHtmlAsPdf yöntemimizle bir HTML dosyasını kolayca PDF'e dönüştürün ve piksellik olarak mükemmel PDF'inizi hızlıca kaydedin.

:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-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");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

URL'den PDF

RenderUrlAsPdf ile URL'yi PDF'e hızlıca sadece birkaç satırda dönüştürün. URL'yi bir parametre olarak girin ve kolayca kaydedin.

:path=/static-assets/pdf/content-code-examples/how-to/url-to-pdf.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

Görüntüden PDF

Gösterilecek bir görüntünüzü PDF olarak mı göstermek istiyorsunuz? Bunu ImageToPdfConverter sınıfımız ile hızlıca dönüştürün ve ImageToPdf yöntemini çağırın.

:path=/static-assets/pdf/content-code-examples/how-to/image-to-pdf-convert-one-image.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

PDF'den Görüntü

Yukarıdaki örnek ile zıt bir işlem için, girişi önce PDF'e dönüştürebilir ve ardından PDF'i görüntülere dönüştürmek için RasterizeToImageFiles yöntemini kullanabiliriz.

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-rasterize.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

DOCX'den PDF'ye Dönüştür

Bir DOCX dosyasını, örneğin bir özgeçmiş, kolayca PDF'ye dönüştürmeye hiç ihtiyaç duydunuz mu? IronPDF sizi kapsıyor. Dönüştürmek için sadece RenderDocxAsPDF yöntemini çağırın.

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.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");
Imports IronPdf

' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()

' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

RTF'den PDF'ye Dönüştür

Bir RTF dosyasını PDF'e dönüştürmek için, RTF dosyasını giriş olarak vererek RenderRtfFileAsPdf yöntemini çağırırız.

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-from-file.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

MD'den PDF'ye Dönüştür

Bir MD'yi PDF'e dönüştürmek için, MD dosyasını giriş olarak vererek RenderMarkdownFileAsPdf yöntemini çağırabiliriz.

:path=/static-assets/pdf/content-code-examples/how-to/md-to-pdf-from-file.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

XML'den PDF'ye Dönüştür

XML'i PDF'ye dönüştürmek oldukça zorlu olabilirken, IronPDF hala mücadeleye meydan okumaktadır ve XML'i birkaç adımda PDF'ye dönüştürmeye yardımcı olur. XLST şablonu ile başlarız ve ardından XML'i HTML aracılığıyla XLST dönüşümleri yoluyla PDF'ye dönüştürürüz. Başlamanıza yardımcı olacak kod parçasının kısaltılmış versiyonu burada.

// 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");
// 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");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

PDF'den HTML'e

Çeşitli formatları PDF'ye dönüştürmenin yanı sıra, IronPDF aynı zamanda PDF'leri HTML'ye dönüştürme işlemini de desteklemektedir. İşlevselliği göstermek için hızlı bir kod parçası burada.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-to-html.cs
using IronPdf;
using System;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);

// Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html");
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")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

Dinamik Web Sayfasından PDF'ye

Dinamik web sayfanızın, tam düzen ve format korurken, PDF olarak saklanması ve dönüştürülmesi mi gerekiyor? IronPDF'den başka bir yere bakmayın, bu hızlıca çeşitli popüler dinamik web sayfası çerçevelerini PDF'ye dönüştürür.

ASPX Sayfalarından PDF

Active Server Pages'de ASPX Sayfalarını PDF olarak dönüştüren kısa bir kod parçası burada.

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-2.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);
        }
    }
}
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
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

XAML'den PDF'ye (MAUI)

Çapraz platform uygulamaları oluşturmak isteyen geliştiriciler için, .NET MAUI çerçeveleri arasında popüler bir seçimdir. IronPDF, XAML'i PDF'ye dönüştürmeyi birkaç adımda tam olarak destekliyor.

:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.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");
    }
}
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
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

PDF Raporları Oluştur

PDF Raporları oluşturmaya gelince, tam boyutlar ve format çok önemlidir. Bu nedenle, IronPDF yalnızca birkaç adımda kesintisiz PDF'ler oluşturmanıza olanak sağlar.

:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-render-html-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf")
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

Blazor Sunucularında PDF'ler Oluştur

IronPDF .NET 6'yı destekler ve Blazor gibi proje türlerini içerir, bu kod parçası Blazor Sunucu'da nasıl PDF oluşturulacağına dair kısa bir örnek sunar.

@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";
    }
}
@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";
    }
}
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
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

Blazor Sunucusunda Razor'dan PDF

Blazor Sunucularında PDF oluşturmanın yanı sıra, IronPDF aynı zamanda Blazor sayfaları içerisindeki Razor bileşenlerinden PDF belgeleri oluşturmayı da destekler. PDF dosyaları ve sayfalarının oluşturulmasını çok daha düzenli hale getirir.

[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 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() As IEnumerable(Of PersonInfo)
Public Property Parameters() As 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
$vbLabelText   $csharpLabel

Bu kod parçasının daha detaylı bir açıklaması ve ek işlevselliklerini keşfetmek için kapsamlı kılavuzumuza bakınız.

CSHTML'den PDF'ye

CSHTML (Razor) dönüşümünü PDF'ye çevirme, web uygulamalarınızdan doğrudan profesyonel, baskıya hazır belgeler üretmenizi sağlar. Bu, faturalar, raporlar, sözleşmeler veya herhangi bir dinamik içerik için kullanışlıdır. IronPDF, Razor Pages, MVC Core ve MVC Framework'ü destekler ve başlıksız işleme özelliği sayesinde PDF oluşturmayı yalnızca birkaç satır kodla .NET uygulamalarınıza sorunsuz bir şekilde entegre eder.

CSHTML'den PDF'e (Razor Pages)

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");
}
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");
}
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
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

CSHTML'den PDF'e (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
        return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
    }
    return View(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);
}
Public Async Function Persons() As Task(Of IActionResult)
'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property:
	Dim persons_Conflict = 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_Conflict)
		Response.Headers.Add("Content-Disposition", "inline")

		' Output PDF document
		Return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf")
	End If
	Return View(persons_Conflict)
End Function
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

CSHTML'den PDF'e (MVC Framework)

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 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() As ActionResult
'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property:
	Dim persons_Conflict = 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_Conflict)
		Response.Headers.Add("Content-Disposition", "inline")

		' View the PDF
		Return File(pdf.BinaryData, "application/pdf")
	End If
	Return View(persons_Conflict)
End Function
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

CSHTML'den PDF'e (Başsız)

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");
});
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");
});
app.MapGet("/PrintPdf", Async Function()
	' 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)
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

Web Erişilebilirliği

TLS Web Sitesi & Sistem Girişleri

IronPDF, kimlik doğrulama gerektiren web sayfalarını dönüştürmek için kolay bir çözüm sunar. Render ayarları ile, kullanıcılar ChromeHttpLoginCredntials özelliğini kullanarak kullanıcı adı ve şifreyi atlayabilir.

:path=/static-assets/pdf/content-code-examples/how-to/logins-username-password.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

Çerezler

Oturumunuzun kaydedildiğinden emin olmak için ek giriş isteğine çerezleri uygulayın! Bu, IronPDF içerisinde kilitli bir alan içinde ek kaynakları daha kolay işler hale getirecektir.

:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-cookies.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);
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)
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

HTTP İstek Başlığı

Çerezlerin dışında, IronPDF ayrıca kullanıcıların yetkilendirme belirteçleri ve diğer yaygın alanlarla HTTP istek başlıklarını özelleştirmesine olanak tanır.

:path=/static-assets/pdf/content-code-examples/how-to/http-request-header.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");
Imports IronPdf
Imports System.Collections.Generic

Private 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")
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

PDF Dönüşümünüzü Özelleştirin

İşleme Seçenekleri

IronPDF, kullanıcıların üretilen PDF'lerin görünümünü ve formatını özelleştirmesine olanak tanır. Çeşitli girişleri PDF'e dönüştürmek için kullanılan ChromePdfRender sınıfı aynı zamanda kullanıcıların çıktının nasıl görüneceğini kontrol etmelerini sağlayan RenderingOptions özelliğini de içerir.

:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-render.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

Özel Kenar Boşluğu Ayarla

Çıktı PDF'inizin görünümünü kenar boşluklarını ayarlayarak daha da özelleştirip, layout ve aralıkları tam olarak kontrol etmenizi sağlayabilirsiniz.

:path=/static-assets/pdf/content-code-examples/how-to/custom-margins-set-margins.cs
ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;
Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 40
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.MarginBottom = 40
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

Gri Tonlamalı

Gri tonlamalı bir PDF oluşturmak için GrayScale özelliğini RenderingOptions içinde doğru yapıyoruz.

:path=/static-assets/pdf/content-code-examples/how-to/color-grayscale-grayscale.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

PDF Layout'unuzu İyileştirin

İçerik Tablosu Ekleyin

Dokümanınızda okuyucuların kolayca gezinmesine yardımcı olacak dinamik bir içerikler tablosu IronPDF ile oluşturun. IronPDF, üstbilgiler gibi h1 ve h2'ya bağlantılarla otomatik olarak içindekiler tablosunu yönetir. Bununla birlikte, içerikler tablosunun stilini HTML ve CSS stiliyle de özelleştirebilirsiniz.

:path=/static-assets/pdf/content-code-examples/how-to/table-of-contents.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");
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")
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

Sayfa Kırıkları

Bölümler arasına sayfa kırıkları ekleyerek içeriği net bir şekilde ayırıp dokümanınızın okunabilirliğini artırın. IronPDF ile, o etkiyi elde etmek için HTML div style= page-break-after'yi kullanmanız yeterlidir.

:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-page-breaks-page-break.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");
Imports IronPdf

Private Const html As String = "
  <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'>"

Private renderer = New ChromePdfRenderer()

Private pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("Page_Break.pdf")
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

Sayfaya Sığdır & Yakınlaştır

Belirtilen bir kağıt boyutuna uygun içerik boyutlarını belirleme konusunda yardıma mı ihtiyaçınız var? Google Chrome'un yazdırma önizlemesi gibi içerikleri sayfaya sığdırarak UseChromeDefault ile IronPDF bunu sizin için halleder.

:path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-default-chrome.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

pdf.SaveAs("chromeDefault.pdf");
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")
$vbLabelText   $csharpLabel

Bu kod parçacığına dair daha detaylı bir açıklama ve fazladan özelliklerini keşfetmek için lütfen kapsamlı kullanıcı rehberimize bakın.

Sonuç

Yukarıdaki örnekler, IronPDF kullanarak çeşitli formatları PDF'lere dönüştürürken kilit özellikleri ve büyük kapasitelerini sergiliyor.

IronPDF veya lisanslama ile ilgili genel sorularınız varsa veya bir özellik talep etmek istiyorsanız, lütfen destek ekibimizle iletişime geçin. Sizlere yardımcı olmaktan memnuniyet duyarız.

Sıkça Sorulan Sorular

.NET Core'da HTML'yi PDF'ye nasıl dönüştürürüm?

.NET Core'da HTML'yi PDF'ye dönüştürmek için IronPDF kütüphanesini kullanın. İlk önce, NuGet üzerinden paketi yükleyin. Ardından, bir ChromePdfRenderer örneği oluşturun ve HTML dizgilerini PDF formatına dönüştürmek için RenderHtmlAsPdf yöntemini kullanın.

Canlı bir URL nasıl PDF belgesine dönüştürülür?

IronPDF kullanarak canlı bir URL'yi PDF belgesine dönüştürebilirsiniz. Kütüphaneyi NuGet'ten yükleyin, bir ChromePdfRenderer örneği oluşturun ve dönüştürmek istediğiniz web sayfası URL'si ile RenderUrlAsPdf yöntemini çağırın.

Razor görünümlerini PDF'ye dönüştürmenin adımları nelerdir?

Razor görünümlerini PDF'ye dönüştürmek için görünümü bir HTML dizgisine dönüştürün ve ardından IronPDF'nin RenderHtmlAsPdf yöntemine geçirin. Bu, MVC görünümlerinden veri bağlamalı dinamik PDF'ler oluşturmaya olanak tanır.

Mevcut PDF dosyaları değiştirilebilir mi?

Evet, mevcut PDF dosyaları IronPDF kullanılarak değiştirilebilir. Bir PDF'yi yüklemek için PdfDocument.FromFile kullanın ve ardından birleştirme, başlık/altbilgi ekleme veya güvenlik ayarlarını değiştirme gibi değişiklikleri uygulayın.

PDF'leri işlemek için hangi seçenekler mevcut?

IronPDF, ChromePdfRenderOptions aracılığıyla çeşitli işleme seçenekleri sunar. Kağıt boyutu, yönlendirme, kenar boşlukları ve daha fazlasını özelleştirerek PDF'lerinizin belirli düzen ve stil gereksinimlerine uymasını sağlayın.

Docker ortamında PDF'ler nasıl dağıtılabilir?

PDF'leri bir Docker ortamında dağıtmak için Dockerfile içinde Linux bağımlılıklarını yapılandırın. IronPDF'nin IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig özelliğini kullanarak kapsül uygulamalarındaki bağımlılıkları otomatik olarak yönetin.

PDF dosyalarına dijital imzalar eklemek mümkün mü?

Evet, PDF dosyalarına dijital imzalar PdfSignature sınıfı kullanılarak eklenebilir. Belgenin güvenilirliğini ve bütünlüğünü sağlamak için Sign yöntemi ve bir sertifika dosyası kullanarak.

IronPDF'nin PDF'ler için sunduğu güvenlik özellikleri nelerdir?

IronPDF, parola koruması, şifreleme ve erişim kontrolü gibi sağlam güvenlik özellikleri sunar. Bu özellikleri, görüntüleme, yazdırma ve düzenleme izinlerini yönetmek için SecuritySettings özelliği üzerinden ayarlayın.

PDF belgelerinden metin ve görüntüler nasıl çıkarılır?

PDF belgelerinden metin ve görüntüler, IronPDF'nin ExtractAllText ve ExtractAllImages yöntemleri kullanılarak çıkarılabilir. Bu yöntemler, tüm belgelerden veya belirli sayfalardan veri işlenmesine olanak tanır.

PDF dosyalarına filigranlar nasıl uygulanır?

PDF dosyalarına filigranlar, IronPDF'nin Watermark özelliği ve HtmlStamp nesneleri kullanılarak uygulanabilir. Daha gelişmiş ihtiyaçlar için, HtmlStamper sınıfı, özelleştirilebilir stillerle HTML tabanlı filigranları destekler.

IronPDF .NET 10 ile uyumlu mu ve bir .NET 10 projesinde nasıl kullanılır?

Evet—IronPDF, platformlar arası, modern .NET sürüm desteği kapsamında .NET 10'u tam olarak destekler. Bir .NET 10 projesinde kullanmak için, IronPdf NuGet paketini yükleyin, proje dosyanızda net10.0'a hedeflenmiş şekilde referans verin ve ardından ChromePdfRenderer gibi sınıfları ve RenderHtmlAsPdf gibi yöntemleri daha önceki .NET sürümlerinde olduğu gibi kullanın. PDF'leri işlerken veya birleştirirken, .NET 10'un geliştirilmiş performans, bellek kullanımı ve çalışma zamanı iyileştirmelerinden faydalanırsınız.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Chief Technology Officer

Jacob Mellor, Iron Software'in Teknoloji Müdürü ve C# PDF teknolojisinin öncüsü olan vizyoner bir mühendis. Iron Software’in temel kod tabanının ilk geliştiricisi olarak, şirketin ürün mimarisini kuruluşundan bu yana şekillendirdi ve CEO Cameron Rimington ile birlikte NASA, Tesla ve ...

Daha Fazlasını Oku
İnceleyen
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluk Ekibi
Jeff, aynı zamanda .NET ve Visual Studio ekipleri için Baş Program Yöneticisi'dir. Microsoft geliştirici etkinlikleri (Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit) için atölye çalışmaları, sunumlar yazar ve içerik planlar ve haftada iki kez yayınlanan 'Fritz ve Arkadaşları' canlı yayınının ev sahibidir.
Başlamaya Hazır mısınız?
Nuget Indirmeler 18,332,619 | Sürüm: 2026.4 yeni yayınlandı
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizin PDF olduğunu izleyin.