Para transformar XML em arquivo PDF, usaremos a API Aspose.PDF for .NET, que é uma API de manipulação de documentos rica em recursos, poderosa e fácil de usar para a plataforma net. Abra o gerenciador de pacotes NuGet, procure por Aspose.pdf e instale. Você também pode usar o seguinte comando no Console do Gerenciador de Pacotes.
PM > Install-Package Aspose.PDF
Transforme XML e carregue em PDF via C#
Você precisa Aspose.PDF for .NET testar o código em seu ambiente.
- Defina os parâmetros da página.
- Faça upload do arquivo XSLT.
- Depois, carregue e transforme.
Transforme XML em PDF - C#
private static void ExampleXSLTtoPDF()
{
var _dataDir = @"C:\tmp\";
var XmlContent = File.ReadAllText(@"XMLFile1.xml");
var XsltContent = File.ReadAllText(@"XSLTFile1.xslt");
var options = new Aspose.Pdf.HtmlLoadOptions();
// set page size to A5
options.PageInfo.Height = 595;
options.PageInfo.Width = 420;
var pdfDocument = new Aspose.Pdf.Document(TransformXmltoHtml(XmlContent, XsltContent), options);
pdfDocument.Save(_dataDir + "data_xml.pdf");
}
public static MemoryStream TransformXmltoHtml(string inputXml, string xsltString)
{
var transform = new XslCompiledTransform();
using (var reader = XmlReader.Create(new StringReader(xsltString)))
{
transform.Load(reader);
}
var memoryStream = new MemoryStream();
var results = new StreamWriter(memoryStream);
using (var reader = XmlReader.Create(new StringReader(inputXml)))
{
transform.Transform(reader, null, results);
}
memoryStream.Position = 0;
return memoryStream;
}