XML transformieren mit C#

Transformieren und laden Sie XML in ein PDF-Dokument. Verwenden Sie Aspose.PDF für .NET, um PDF-Dokumente programmgesteuert zu ändern

So transformieren Sie XML mit der .NET Bibliothek

Um XML in eine PDF-Datei umzuwandeln, verwenden wir die API Aspose.PDF for .NET, eine funktionsreiche, leistungsstarke und einfach zu verwendende API zur Dokumentenbearbeitung für die net Plattform. Öffnen Sie den NuGet -Paketmanager, suchen Sie nach Aspose.pdf und installieren Sie es. Sie können auch den folgenden Befehl von der Package Manager Console aus verwenden.

Package Manager Console

PM > Install-Package Aspose.PDF

Transformiere XML und lade es in PDF über C#


Sie müssen Aspose.PDF for .NET den Code in Ihrer Umgebung ausprobieren.

  1. Legen Sie Seitenparameter fest.
  2. Laden Sie die XSLT-Datei hoch.
  3. Dann laden und transformieren.

Wandeln Sie XML in PDF um - C#

Dieser Beispielcode zeigt, wie XML in eine PDF-Datei umgewandelt wird


    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;
    }