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.
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.
-
IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
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"); -
Canlı 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?
: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")
Çı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")
Çı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.
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
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.

