C# | IronPDF ile HTML Dizesini PDF'ye Nasıl Render Edilir

How to Convert HTML String to PDF in C

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

IronPDF, HTML dizgilerini PDF belgelerine dönüştürürken C# dilinde Chrome işleme motorunu kullanır ve tüm HTML5, CSS3 ve JavaScript içeriğini temel dönüşümler için tek bir satır kod ile destekler. Kütüphane, mükemmel render uyumluluğunu koruyarak PDF oluşturma için güçlü özellikler sağlar.

IronPDF geliştiricilerin C#, F# ve VB.NET için .NET Core ve .NET Framework'te PDF belgeleri kolayca oluşturmasına olanak tanır. IronPDF, herhangi bir HTML dizesini PDF'ye dönüştürmeyi destekler ve dönüştürme süreci, Google Chromium motorunun tam fonksiyonel bir sürümünü kullanır. Bu, HTML içeriğinin modern bir web tarayıcısında göründüğü haliyle tam olarak görünmesini sağlar ve dinamik HTML içeriğinden raporlar, faturalar ve belgeler oluşturmak için idealdir.

Hızlı Başlangıç: HTML Dizgisini Saniyeler İçinde PDF'ye Dönüştür

IronPDF kullanarak HTML dizgilerini PDF dosyalarına dönüştürün. Bu kılavuz, C# içinde bir HTML dizesini en az kodla bir PDF belgesine nasıl dönüştüreceğinizi göstermektedir. Projelerinde PDF oluşturma yeteneklerini entegre etmesi gereken geliştiriciler için mükemmel.

  1. IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("string-to-pdf.pdf");
  3. Canlı ortamınızda test için dağıtım yapın

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

    arrow pointer


Basit bir HTML Dizesini PDF'ye Nasıl Dönüştürürüm?

İşte IronPDF'nin RenderHtmlAsPdf yöntemini kullanarak bir HTML dizesini PDF'ye dönüştürdüğü bir örnek. Parametre, PDF olarak oluşturulacak HTML dizesidir. Bu yöntem, PDF oluşturma ihtiyaçlarınız için görüntüleme seçenekleri üzerinde kapsamlı kontrol sağlayan ChromePdfRenderer sınıfının bir parçasıdır.

: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

RenderHtmlAsPdf yöntemi, PDF bilgilerini barındıran ve PDF'leri birleştirme, filigran ekleme ve güvenlik seçeneklerini ayarlama dahil olmak üzere PDF'yi işleme yöntemleri sağlayan bir PdfDocument nesnesi döndürür.

İpuçları.NET Core, Blazor veya arka plan hizmetlerinde, iş parçacıklarının engellenmesini önlemek için async varyantını RenderHtmlAsPdfAsync tercih edin. PdfDocument döndürülen IDisposable'yi uygular, bu nedenle yüksek verimli senaryolar için bunu bir using bloğuna sarın. ChromePdfRenderer iş parçacığı güvenlidir ve daha iyi performans için bir kez örneklenip istekler arasında yeniden kullanılabilir.

Harici bir kaynaktan bir HTML dizesi alındığında ve yerel disk erişimini veya kaynaklar arası istekleri devre dışı bırakmanız gerektiğinde, işleme koymadan önce IronPdf.Installation.EnableWebSecurity değerini true olarak ayarlayın. Bu, renderer üzerinde bir örnek özelliği değil, statik bir global ayardır.

// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
' Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = True
$vbLabelText   $csharpLabel

Karmaşık CSS stillerini içeren HTML içeriği için, HTML dizelerinizi satır içi stillerle zenginleştirin ya da Base URLs & Asset Encoding özelliğini kullanarak harici stil sayfalarına referans verin:

// Example with inline CSS
var styledHtml = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";

using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
// Example with inline CSS
var styledHtml = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";

using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
Dim styledHtml As String = "
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>"

Using styledPdf = renderer.RenderHtmlAsPdf(styledHtml)
    styledPdf.SaveAs("styled-output.pdf")
End Using
$vbLabelText   $csharpLabel

Oluşturulan PDF Nasıl Görünür?

İşte kodun ürettiği dosya:

Oluşturulan PDF, HTML'nizden gelen tam biçimlendirme ve stil özelliğini koruyarak PDF raporları oluşturmak veya web içeriğini baskıya hazır belgelere dönüştürmek için mükemmeldir.

HTML'yi PDF'ye Dönüştürürken Dış Kaynakları Nasıl Dahil Edebilirim?

Bu örnek, IronPDF'nin isteğe bağlı bir BasePath'ten harici bir görüntü varlığı yüklediğini göstermektedir. BaseUrlOrPath özelliğini ayarlamak, köprüler, resimler, CSS ve JavaScript dosyaları için göreceli dosya yolunu veya URL bağlamını sağlar. Bu, PDF'lerdeki resimler ile çalışırken veya harici kaynaklara başvurmanız gerektiğinde gereklidir.

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

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

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()

' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Private myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

Karmaşık düzenler veya dinamik içerik içeren gelişmiş senaryolar için, IronPDF'nin JavaScript render desteğini kullanın:

// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>";

// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>";

// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
Imports System

' Example with JavaScript-generated content
Dim jsHtml As String = "
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>"

' Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500) ' milliseconds
Using dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, "C:\site\")
    dynamicPdf.SaveAs("dynamic-content.pdf")
End Using
$vbLabelText   $csharpLabel

Dış varlıklarla çalışırken, kimlik doğrulama veya özel başlıkları ele almanız gerekebilir. IronPDF, HTTP İstek Başlığı fonksiyonu ile bunu destekler, kaynakları getirirken yetkilendirme belirteçlerini veya özel başlıkları eklemenizi sağlar.

Dış Kaynaklar için BasePath Ayarlamak Neden Önemlidir?

İşte kodun ürettiği dosya:

BasePath öğesini doğru şekilde ayarlamak, HTML'nizdeki tüm göreceli referansların doğru şekilde çözümlenmesini sağlar. Bu olmadan, IronPDF resimler, stil dosyaları veya betikler gibi harici kaynakları bulamaz. Bu özellikle önemli olduğunda:

  1. Yerel dosya sistemi kaynaklarına referans veren HTML'yi dönüştürmek
  2. Göreli URL'leri kullanan içerik yönetim sistemleriyle çalışmak
  3. Mevcut web içeriğini PDF formatına taşımak
  4. Paylaşılan varlıkları kullanan şablonlar oluşturmak

Web tabanlı kaynaklar için, temel yol olarak tam URL kullanın:

// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
);
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
);
' Using a web URL as base path
Dim webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
)
$vbLabelText   $csharpLabel

PDF oluşturma sürecinde daha fazla kontrol sağlamak için, özel kenar boşlukları, sayfa yönlendirmesi ve PDF sıkıştırma hakkında IronPDF'nin kapsamlı dokümantasyonunu keşfederek çıktı dosyalarınızı çeşitli kullanım durumları için optimize edebilirsiniz.

Sıkça Sorulan Sorular

Basit bir HTML dizgesini C# içinde PDF'ye nasıl dönüştürebilirim?

IronPDF'nin ChromePdfRenderer sınıfını RenderHtmlAsPdf metodu ile kullanarak bir HTML dizgesini PDF'ye dönüştürebilirsiniz. Sadece renderleyiciyi oluşturun, HTML dizgenizi metoda geçirin ve sonuçtaki PdfDocument nesnesini kaydedin. IronPDF, mükemmel sadakat sağlamak için bir Chrome render motoru kullanır.

HTML'den PDF'ye dönüşüm hangi render motorunu kullanıyor?

IronPDF, HTML'yi PDF'ye render etmek için tam işlevsel bir Google Chromium motoru kullanır. Bu, HTML içeriğinizin, HTML5, CSS3 ve JavaScript dahil olmak üzere, modern bir web tarayıcısında olduğu gibi görünmesini sağlar.

CSS stilleri ile HTML'yi PDF'ye dönüş

Evet, IronPDF, CSS stilleri ile HTML'yi PDF'ye dönüştürmeyi destekler. Stilin doğru bir şekilde işlenmesini sağlamak için Base URL'ler ve Varlık Kodlaması özelliğini kullanarak HTML dizgenize doğrudan satır içi stiller ekleyebilir veya harici stil sayfalarına referans verebilirsiniz.

HTML'yi PDF'ye dönüştürmenin en hızlı yolu nedir?

En hızlı yol IronPDF'nin statik metodunu kullanmaktır: IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf('Sizin HTML'niz').SaveAs('output.pdf'). Bu tek satırlık kod, HTML dizgenizi dönüştürür ve PDF dosyası olarak kaydeder.

HTML dizelerini dönüştürürken harici varlıklarla nasıl ilgilenirim?

IronPDF, PDF'nizdeki harici varlıkların BasePath'ini yapılandırmanıza olanak tanır. Bu, HTML'nizde referans gösterilen resimlerin, stil sayfalarının ve diğer kaynakların dönüştürme işlemi sırasında düzgün şekilde yüklenmesini sağlar.

HTML'den dönüştürürken PDF çıktısını özelleştirebilir miyim?

Evet, IronPDF, PDF çıktınızı ince ayar yapmak için kapsamlı RenderingOptions sağlar. ChromePdfRenderer sınıfı aracılığıyla sayfa boyutunu, kenar boşluklarını, başlıkları, altbilgileri ve oluşturulan PDF'nin birçok diğer yönünü kontrol edebilirsiniz.

Dönüşümden sonra oluşturulan PDF ile ne yapabilirim?

IronPDF'nin PdfDocument nesnesi, PDF birleştirme, filigran ekleme, güvenlik seçeneklerini ayarlama ve daha fazlası gibi PDF manipülasyonu için birçok yöntem sunar. Dönüştürülen PDF, disk üzerine kaydedilebilir, aktarılabilir veya gerektiğinde daha fazla işlenebilir.

Dış kaynaklardan HTML dönüştürülürken güvenliği nasıl sağlarsınız?

Dış kaynaklardan HTML dönüştürülürken, IronPDF, ChromePdfRenderer'da EnableWebSecurity özelliğini true olarak ayarlamanıza izin verir. Bu, yerel disk erişimini ve kökenler arası istekleri engelleyerek güvenliği artırır.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.