XML zu PDF

In diesem Artikel konvertieren wir XML Dateien mit C# in PDF. Die API Aspose.PDF for .NET unterstützt die XML Konvertierungsfunktion umfassend, da viele verwandte Verbesserungen auf Wunsch der API-Benutzer enthalten sind. Sie können Ihre .NET Anwendungen mit dieser effizienten Funktion zum Exportieren von XML in PDF aufwerten. Betrachten wir die folgenden Anwendungsfälle im Zusammenhang mit der Konvertierung von XML in PDF in C#:

Konvertieren Sie XML in PDF in C#

Zum Konvertieren von XML in PDF müssen Sie dem XML-Schema von Aspose.PDF for .NET API folgen, das als XSD Datei verfügbar ist. Es folgt eine XML Datei, die wir als Hello World-Demonstration in PDF konvertieren werden.

<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
  <Page id="mainPage">
    <TextFragment>
      <TextSegment>Hello</TextSegment>
    </TextFragment>
 
    <TextFragment>
      <TextSegment>World!</TextSegment>
    </TextFragment>
  </Page>
</Document>

Sie müssen die folgenden Schritte ausführen, um XML in eine PDF Datei zu konvertieren:

  1. Initialisiert ein Objekt der Klasse Document.
  2. Laden Sie die XML Datei mit der methode BindXml.
  3. Speichern Sie die konvertierte PDF Datei

Das folgende code snippet zeigt, wie Sie in C# XML in PDF konvertieren:

// Document objekt instanziieren
Document doc = new Document();
// XML quelldatei binden
doc.BindXml(dataDir + "XML.xml");
// Konvertieren Sie XML in PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# HTML in XML verwenden und in PDF konvertieren

Manchmal müssen Sie möglicherweise HTML in XML vor der Konvertierung in HTML verwenden. Aspose.PDF for .NET API unterstützt diese Funktion ebenfalls. Allerdings sind HTML und XML-Tags ziemlich ähnlich. Daher müssen Sie das CDATA-Tag angeben, damit das HTML nicht als XML-Markup geparst wird. Die folgende XML-Beispieldatei enthält HTML, das durch CDATA gekennzeichnet ist, um Anomalien zu vermeiden:

<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
  <Page id="mainSection">
    <HtmlFragment>
      <![CDATA[
        <font style="font-family:Tahoma; font-size:40px;">This is Html String.</font>
        ]]>
    </HtmlFragment>
  </Page>
</Document>

Sie können diese XML Datei mit den folgenden Schritten in PDF konvertieren:

  1. Instanziiere das Klassenobjekt Document.
  2. Laden Sie die XML-Eingabedatei
  3. Speichern Sie die ausgegebene PDF Datei

Das folgende code snippet zeigt, wie eine XML Datei, die HTML enthält, in C# in PDF konvertiert wird:

// Document objekt instanziieren
Document doc = new Document();
// XML quelldatei binden
doc.BindXml(dataDir + "XML.xml");
// Konvertieren Sie XML in PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Konvertieren Sie XML und XSLT in PDF in C#

Manchmal verfügen Sie möglicherweise über eine vorhandene XML Datei, die wichtige Anwendungsdaten enthält, und möchten mithilfe dieser XML Datei PDF-Berichte generieren. In solchen Szenarien können Sie eine XSLT Datei erstellen, um Ihr vorhandenes XML-Dokument in das kompatible XML-Dokument von Aspose.PDF umzuwandeln. Dann können Sie mit der Konvertierung von XML in PDF fortfahren. Lassen Sie uns dies anhand eines einfachen und grundlegenden Beispiels lernen:

<?xml version="1.0" encoding="utf-8" ?>
<Contents>
  <Content>Hello World!</Content>
</Contents>
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="text()"/>
    <xsl:template match="/Contents">
    <html>
      <Document xmlns="Aspose.Pdf" IsAutoHyphenated="false">
        <PageInfo>
          <DefaultTextState
                            Font = "Helvetica" FontSize="8" LineSpacing="4"/>
          <Margin Left="5cm" Right="5cm" Top="3cm" Bottom="15cm" />
        </PageInfo>
        <Page id="mainSection">
          <TextFragment>
            <TextSegment>
              <xsl:value-of select="Content"/>
            </TextSegment>
          </TextFragment>
        </Page>
      </Document>
    </html>
</xsl:template>
</xsl:stylesheet>

Sie können feststellen, dass die XML Datei nicht dem XML-Schema von Aspose.PDF for .NET API folgt. Die XSLT Datei wandelt sie jedoch in die erforderliche Kompatibilität um. Jetzt können Sie die folgenden Schritte ausführen, um solches XML mit XSLT in PDF zu konvertieren:

  1. PDF initialisieren Document
  2. Bind XML und XSLT Datei
  3. Speichern Sie das ausgegebene PDF Dokument

Das folgende code snippet basiert auf diesen Schritten, die zeigen, wie XML in C# in PDF konvertiert wird:

//PDF Dokument erstellen
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Binden Sie XML und XSLT Dateien an das Dokument
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Speichern Sie das Dokument
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Fazit

Wir haben gelernt, wie man XML in eine PDF Datei in C# konvertiert, vorausgesetzt, das XML folgt dem erwähnten Schema der API. In Anbetracht der Popularität und Benutzerfreundlichkeit von HTML-Tags haben wir auch das Szenario betrachtet, in dem Sie etwas HTML in die XML quelldatei einfügen müssen. Darüber hinaus haben wir auch untersucht, wie XML und XSLT in PDF konvertiert werden können, wenn die vorhandene XML Datei nicht dem Schema folgt.

Siehe auch