In order to transform XML into PDF file, we’ll use Aspose.PDF for .NET API which is a feature-rich, powerful and easy to use document manipulation API for net platform. Open NuGet package manager, search for Aspose.PDF and install. You may also use the following command from the Package Manager Console.
PM > Install-Package Aspose.PDF
Transform XML and load into PDF using C#
You need Aspose.PDF for .NET to try the code in your environment.
- Set page parameters.
- Upload XSLT file.
- Then Load and Transform.
Transform XML into PDF - C#
var xsltFile = Path.Combine(dataDir, "XSLTFile1.xslt");
var xmlDataFile = Path.Combine(dataDir, "data_xml.pdf");
var outputFile = Path.Combine(dataDir, "data_xml.pdf");
var XmlContent = File.ReadAllText(xmlDataFile);
var XsltContent = File.ReadAllText(xsltFile);
var options = new Aspose.Pdf.HtmlLoadOptions();
options.PageInfo.Height = 595;
options.PageInfo.Width = 420;
var pdfDocument = new Aspose.Pdf.Document(TransformXmltoHtml(XmlContent, XsltContent), options);
pdfDocument.Save(outputFile);
static MemoryStream TransformXmltoHtml(string inputXml, string xsltString)
{
var transform = new System.Xml.Xsl.XslCompiledTransform();
using (var reader = System.Xml.XmlReader.Create(new StringReader(xsltString)))
{
transform.Load(reader);
}
var memoryStream = new MemoryStream();
var results = new StreamWriter(memoryStream);
using (var reader = System.Xml.XmlReader.Create(new StringReader(inputXml)))
{
transform.Transform(reader, null, results);
}
memoryStream.Position = 0;
return memoryStream;
}