IronPDF C#'te XML'i PDF'ye Dönüştürme
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.
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.
-
1Install IronPDF with NuGet Package Manager
-
2Bu 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");C# -
3Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
Asgari İş Akışı (5 adım)
- XML'i PDF'ye dönüştürmek için C# kütüphanesini indirin
- XSLT stil sayfasını içe aktarmak için
Loadyöntemini kullanın. - XML'i
Transformyöntemiyle HTML dizisine dönüştürün. - HTML'yi PDF'ye
RenderHtmlAsPdfile işleyin. - PDF belgesini istenilen konuma kaydedin
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?
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");
Çı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.
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.
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");
Çıktı
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 <!-- xsl:param> aracılığıyla okur, böylece aynı şablon düşük stoğu işaretleyebilir, bir rapor tarihini damgalayabilir veya herhangi bir C# kodu değişikliği olmaksızın öğe değerlerine yönelik dallanabilir.
Bu desen, iç içe geçmiş öğeler, özellikler ve <xsl:choose> dallarının yapıyı ele aldığı noktada dönüşüm mantığını XSLT'de tutar. Kullandığı parametre ve koşullu işaretlemeyi görmek için catalog-params.xslt stil dosyasını indirin.
using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;
// Pass runtime values into the stylesheet with an XsltArgumentList
XsltArgumentList xsltArgs = new XsltArgumentList();
xsltArgs.AddParam("reportDate", "", DateTime.Now.ToString("MMMM d, yyyy"));
xsltArgs.AddParam("minStock", "", 50);
// Load a parameterized stylesheet that reads <xsl:param> values
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog-params.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, xsltArgs, writer);
}
// Render the parameterized HTML as a PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("xml-to-pdf-parameters.pdf");
Çıktı
İnfografik

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.
Is a sample project available to understand XML to PDF conversion using IronPDF?
Yes, a runnable sample project for converting XML to PDF is available for download, providing a starting point for implementing this functionality in your own applications.
What are some common use cases for converting XML to PDF with IronPDF?
Common use cases include generating reports, invoices, catalogs, or any document where structured data needs to be presented in a professional and easily distributable format.
How is the HTML output managed during the XML transformation process?
During the transformation process, HTML output is typically managed using a `StringWriter` and an `XmlWriter`, which convert the XML based on the XSLT rules into an in-memory HTML string for further PDF conversion.
Can IronPDF handle pagination features for the generated PDFs?
Yes, IronPDF supports pagination features such as adding page numbers and footers through its rendering options, providing flexibility in creating structured, multi-page PDF documents.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.