C# Kullanarak XML'i PDF'ye Nasıl Dönüştürülür

IronPDF C#'te XML'i PDF'ye Dönüştürme

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

IronPDF, XML'i C#'da PDF'e dönüştürmek için XML'i HTML'e çeviren bir XSLT dönüşümü çalıştırır, ardından o HTML'i ChromePdfRenderer.RenderHtmlAsPdf ile işler. IronPDF, natif bir XML işleyiciye sahip olmadığından, desteklenen yol her zaman XML'den XSLT/HTML'ye, ardından PDF'ye şeklindedir.

XML, görsel bir düzen olmaksızın yapısal veri tutar; bu nedenle kendi başına bir sayfada çizilemez. Bir XSLT stil sayfası bu sunumu sağlar: Her XML öğesini HTML işaretlemelerine haritalar ve bu HTML, PDF'nin göstereceği yazı tiplerini, tabloları ve stilini taşır. Temel dönüşüm hakkında daha fazla okumak için XslCompiledTransform sınıfı üzerine Microsoft'un kılavuzuna bakın.

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

Bir XSLT stil dosyasını XslCompiledTransform ile yükleyin, XML dosyanızı bir HTML dizesine dönüştürün, ardından o dizeyi IronPDF'e verin. Dönüşüm, stil sayfasının tanımladığı düzeni işleyen IronPDF'in HTML'den PDF'ye motoru aracılığıyla çalışır.

  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.

    var transform = new System.Xml.Xsl.XslCompiledTransform();
    transform.Load("catalog.xslt");
    var html = new System.IO.StringWriter();
    transform.Transform("catalog.xml", null, html);
    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(html.ToString()).SaveAs("output.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


XML Dosyasını C#'de Nasıl PDF'ye Dönüştürebilirim?

Bir XML dosyasını üç adımı zincirleyerek dönüştürün: XslCompiledTransform ile bir XSLT stil dosyası yükleyin, XML'i HTML'e dönüştürün, ardından sonuca RenderHtmlAsPdf çağırın. Stil sayfası, her XML elemanının nasıl görünmesi gerektiğine karar verir ve IronPDF, Chromium motoru aracılığıyla ürettiği HTML'yi işler.

Dönüşüm, HTML'ini bir StringBuilder aracılığıyla XmlWriter ile yazar, bu da tüm belgeyi bellekte tutarak disk üzerinde geçici bir dosyadan kaçınır. Bu HTML dizesi, işleyiciye geçirdiğiniz şeydir. Oluşan PdfDocument'i elinize aldığınızda, aynı raporun diğer bölümleri için bir HTML dizesini işlemek gibi üzerinde çalışmaya devam edebilirsiniz.

XML Girişi Ne Görünüyor?

Aşağıdaki örnek bir ürün kataloğudur. Devam edebilmek için catalog.xml örnek dosyasını ve eşleşen catalog.xslt stil dosyasını indirin.

Giriş

Bir XML Dosyasını Dönüştürmek İçin Hangi Kodu Kullanmalıyım?

:path=/static-assets/pdf/content-code-examples/how-to/xml-to-pdf-from-file.cs
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

// Load the XSLT stylesheet that maps the XML schema onto HTML
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog.xslt");

// Apply the transform to the XML file and capture the HTML output
StringBuilder htmlBuilder = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings { OmitXmlDeclaration = true, Indent = true };

using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, settings))
{
    transform.Transform(reader, null, writer);
}

string html = htmlBuilder.ToString();

// Render the resulting HTML as a PDF with IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("xml-to-pdf.pdf");
Imports System.IO
Imports System.Text
Imports System.Xml
Imports System.Xml.Xsl
Imports IronPdf

' Load the XSLT stylesheet that maps the XML schema onto HTML
Dim transform As New XslCompiledTransform()
transform.Load("catalog.xslt")

' Apply the transform to the XML file and capture the HTML output
Dim htmlBuilder As New StringBuilder()
Dim settings As New XmlWriterSettings With {.OmitXmlDeclaration = True, .Indent = True}

Using reader As XmlReader = XmlReader.Create("catalog.xml")
    Using writer As XmlWriter = XmlWriter.Create(htmlBuilder, settings)
        transform.Transform(reader, Nothing, writer)
    End Using
End Using

Dim html As String = htmlBuilder.ToString()

' Render the resulting HTML as a PDF with IronPDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("xml-to-pdf.pdf")
$vbLabelText   $csharpLabel

Çıktı

PDF Düzeni ve Sayfa Ayarlarını Nasıl Kontrol Edersiniz?

Kenar boşlukları, yönlendirme, başlıklar ve alt bilgileri kontrol etmek için RenderHtmlAsPdf'yi çağırmadan önce dönüştürücünün RenderingOptions'sini ayarlayın. Bu seçenekler, stil sayfasının ürettiği HTML'ye uygulanır, bu nedenle sayfa düzeyi ile ilgili sorunlar C#'da kalırken, eleman düzeyindeki stil XSLT ve CSS'de kalır.

Aşağıdaki örnek, dikey yönlendirmeyi korur, üst ve alt kenarlıkları kısaltır ve çalışır bir başlık ile bir sayfa numarası alt bilgisi ekler. Tam seçenekler seti için işleme seçenekleri kılavuzuna göz atın ve her sayfada numaralandırma eklemek için sayfa numaraları kısmına bakın.

:path=/static-assets/pdf/content-code-examples/how-to/xml-to-pdf-advanced.cs
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;
using IronPdf.Rendering;

// Transform the XML into HTML using the XSLT stylesheet
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog.xslt");

StringBuilder htmlBuilder = new StringBuilder();
using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, new XmlWriterSettings { OmitXmlDeclaration = true }))
{
    transform.Transform(reader, null, writer);
}

// Configure rendering options before generating the PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Spring Product Catalog",
    FontSize = 12
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    RightText = "Page {page} of {total-pages}",
    FontSize = 10
};

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("xml-to-pdf-advanced.pdf");
Imports System.IO
Imports System.Text
Imports System.Xml
Imports System.Xml.Xsl
Imports IronPdf
Imports IronPdf.Rendering

' Transform the XML into HTML using the XSLT stylesheet
Dim transform As New XslCompiledTransform()
transform.Load("catalog.xslt")

Dim htmlBuilder As New StringBuilder()
Using reader As XmlReader = XmlReader.Create("catalog.xml")
    Using writer As XmlWriter = XmlWriter.Create(htmlBuilder, New XmlWriterSettings With {.OmitXmlDeclaration = True})
        transform.Transform(reader, Nothing, writer)
    End Using
End Using

' Configure rendering options before generating the PDF
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.TextHeader = New TextHeaderFooter With {
    .CenterText = "Spring Product Catalog",
    .FontSize = 12
}
renderer.RenderingOptions.TextFooter = New TextHeaderFooter With {
    .RightText = "Page {page} of {total-pages}",
    .FontSize = 10
}

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
pdf.SaveAs("xml-to-pdf-advanced.pdf")
$vbLabelText   $csharpLabel

Çıktı

Icon Quote related to Çıktı

Bu türden favori kütüphanem IronPDF'dir. PDF dosyalarının hızlı ve verimli bir şekilde işlenmesine olanak tanır. Ayrıca, PDF/A formatına dışa aktarma ve dijital imzalama gibi birçok değerli özelliğe sahiptir.

Milan Jovanovic related to Çıktı

Milan Jovanovic

Microsoft MVP

Vaka çalışmasını görüntüle
Icon Quote related to Çıktı

IronOCR, manuel işleme maliyetinden yıllık 40.000 USD tasarruf etmemizi sağlıyor, üretkenliği artırıyor ve yüksek etkili görevler için kaynakları serbest bırakıyor. Kesinlikle tavsiye ederim.

Brent Matzelle related to Çıktı

Brent Matzelle

Teknoloji Müdürü, OPYN

Vaka çalışmasını görüntüle
Icon Quote related to Çıktı

IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.

David Jones related to Çıktı

David Jones

Baş Yazılım Mühendisi, Agorus Build

Vaka çalışmasını görüntüle

Karmaşık XML Şemaları Nasıl İşlenir?

XML şeması koşullu biçimlendirme veya belge dışında yaşayan verilere ihtiyaç duyduğunda çalışma zamanı değerlerini bir XsltArgumentList ile stil dosyasına geçirin. Stil dosyası, her bir değeri `


İnfografik

Katalog verisinin tablolar halinde dönüştürüldüğünü gösteren XSLT kullanarak XML'den HTML'e dönüşüm

Sonuç

Bir XML'i, XslCompiledTransform ile HTML'e dönüştürerek PDF'e çevirdiniz, ardından o HTML'i IronPDF ile işlediniz ve RenderingOptions ile XsltArgumentList sonucunu düzen yerleşim kontrolü ve şema temelli biçimlendirme için nasıl genişlettiğinizi gördünüz. Çıktı sıradan HTML olduğundan, başlıkları, alt bilgileri ve kağıt boyutlarını başka yerlerde belirleyen aynı işleme seçenekleri doğrudan kataloğunuza uygulanır. Kullanılabilir bir XML'den PDF'ye örnek proje, başlangıç noktası olarak indirmek için kullanılabilir.

Sıkça Sorulan Sorular

XML'i C#'ta PDF'ye nasıl dönüştürebilirim?

IronPDF'nin yerel bir XML işleme motoru olmadığından, desteklenen yol XML'den XSLT/HTML'e PDF'ye yönlendirmektir. XslCompiledTransform ile bir XSLT stil şablonunu yükleyin, XML'i bir HTML dizesine dönüştürün, ardından nihai PDF dokümanını üretmek için IronPDF'nin ChromePdfRenderer üzerinde RenderHtmlAsPdf fonksiyonunu çağırın.

XML'den PDF'ye dönüştürme için neden XSLT kullanmalıyım?

XSLT, XML'den PDF'ye dönüştürme için en esnek yaklaşımı sunar çünkü XML'den HTML'ye özel bir çevirmen işlevi görür. IronPDF'nin Chrome render motoru ile birleştirildiğinde bu yöntem, son PDF belgesinde XML verinizin nasıl biçimlendirileceği üzerinde tam kontrol sağlarken piksel mükemmelliğinde dönüşüm sağlar.

XML'den PDF'ye dönüştürmeyi uygulamak için adımlar nelerdir?

Uygulama 5 adımdan oluşur: 1) IronPDF C# kütüphanesini yükleyin, 2) Load yöntemini kullanarak XSLT şablonunu yükleyin, 3) XML'i HTML'e dönüştürmek için Transform yöntemini kullanın, 4) IronPDF'nin özel render seçenekleri ile HTML'i PDF'ye dönüştürün ve 5) PDF belgesini istediğiniz konuma dışa aktarın.

XML'den PDF'ye dönüştürme yaparken özel stil uygulayabilir miyim?

Evet, PDF çıktınızın görsel sunumunu geliştirmek için özel CSS stil uygulayabilirsiniz. IronPDF, yazı tipleri, düzenler ve görsel öğeler üzerinde tam kontrol sağlayarak XML verilerinizden profesyonel biçimlendirilmiş PDF'ler oluşturmanıza olanak tanır.

Tek satır kod ile XML'den PDF'ye dönüştürme yapabilir miyim?

Evet, IronPDF, metodları zincirleyerek tek satırlık XML'den PDF'ye dönüştürme sağlar: new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(XslCompiledTransform.Load('template.xslt').Transform(XmlReader.Create('data.xml'), new StringWriter()).ToString()).SaveAs('output.pdf');

XML'den PDF'ye dönüştürme için hangi render motoru kullanılır?

IronPDF, XSLT dönüşümünüzün oluşturduğu HTML'i bir Chrome işleme motoru kullanarak işler ve modern web standartları ile uyumlu piksel mükemmel bir çıktı sağlar. XML'in kendisi asla doğrudan işlenmez; dönüşen HTML, PDF haline gelir.

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
Gözden Geçiren
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluğu Ekibi
Jeff, .NET ve Visual Studio ekipleri için bir Baş Program Yöneticisidir. .NET Conf sanal konferans serisinin baş yapımcısıdır ve haftada iki kez canlı yayınlanan 'Fritz and Friends' adlı bir akış programı sunar; burada izleyicilerle birlikte teknoloji konuşur ve kod yazar. Jeff, en büyük Microsoft geliştirici etkinlikleri için atölyeler, sunumlar ve içerik planları yazar, Microsoft Build, Microsoft Ignite, .NET Conf ve Microsoft MVP Summit gibi etkinliklerde yer alır.
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,936,792 | Sürüm: 2026.7 yeni yayınlandı
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.