XML till PDF

I den här artikeln kommer vi att konvertera XML-filer till PDF i C#. Biblioteket Aspose.PDF for .NET stöder i stor utsträckning XML-konverteringsfunktionen på grund av införandet av många relaterade förbättringar, som efterfrågas av användarna. Du kan höja dina .NET-applikationer med denna effektiva funktion för att exportera XML till PDF. Det som är bra är också att du kan utföra gratis XML till PDF konvertering.

Låt oss överväga följande användningsfall relaterade till XML till PDF-konvertering:

C# PDF-bibliotek

Installera först XML till PDF-konverteringsbiblioteket med följande NPM-kommando.

PM> Install-Package Aspose.PDF

Hur man konverterar XML till PDF i C#

För att konvertera en XML till PDF måste du följa XML-schemat för Aspose.PDF för .NET API som är tillgängligt som XSD-fil. Följande är en XML-fil som vi kommer att konvertera till PDF som en Hello World-demonstration.

<?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>

Du måste följa stegen nedan för att konvertera XML-data till PDF:

  1. Initiera ett objekt i klassen Dokument
  2. Ladda XML-fil med metoden BindXml
  3. Spara den konverterade PDF-filen

Följande kodsnutt visar hur man konverterar XML till PDF i C#:

// Instantiera dokumentobjekt
Document doc = new Document();
// Bind XML-källfil
doc.BindXml(dataDir + "XML.xml");
// Konvertera XML till PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# XML till PDF med HTML

Ibland kan du behöva använda HTML i XML innan du konverterar till HTML. Aspose.PDF för .NET API stöder även denna funktion. HTML- och XML-taggar är dock ganska lika. Därför måste du ange CDATA-taggen så att HTML-koden inte tolkas som XML-uppmärkning. Nedan exempel innehåller XML-filen HTML betecknad med CDATA för att undvika avvikelser:

<?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>

Du kan konvertera denna XML-fil till PDF med följande steg:

  1. Instantiera klassobjektet Dokument
  2. Ladda in XML-filen
  3. Spara den utgående PDF-filen

Nedanstående kodavsnitt visar hur man konverterar en XML-fil, som innehåller HTML, till PDF i C#:

// Instantiera dokumentobjekt
Document doc = new Document();
// Bind XML-källfil
doc.BindXml(dataDir + "XML.xml");
// Konvertera XML till PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Exportera XML och XSLT till PDF i C#

Ibland kan du ha en befintlig XML-fil som innehåller viktig applikationsdata och du vill generera PDF-rapporter med den XML-filen. I sådana scenarier kan du skapa XSLT-fil för att omvandla ditt befintliga XML-dokument till Aspose.PDFs kompatibla XML-dokument. Sedan kan du fortsätta att konvertera XML till PDF. Låt oss lära oss detta med ett enkelt och grundläggande exempel:

<?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>

Du kan märka att XML-filen inte följer XML-schemat för Aspose.PDF för .NET API. Men XSLT-filen omvandlar den till den nödvändiga kompatibiliteten. Nu kan du följa stegen nedan för att konvertera sådan XML med XSLT till PDF:

  1. Initiera PDF Dokument
  2. Bind XML- och XSLT-fil
  3. Spara det utgående PDF-dokumentet

Kodavsnittet nedan är baserat på dessa steg som visar hur man konverterar XML till PDF i C#:

//Skapa pdf-dokument
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Bind XML- och XSLT-filer till dokumentet
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Spara dokumentet
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Gratis C# XML till PDF Converter

Du kan få en gratis tillfällig licens och konvertera XML-data till PDF utan några begränsningar.

Slutsats

Vi har lärt oss hur man konverterar XML till PDF-fil i C# förutsatt att XML följer det nämnda schemat för API:et. Med tanke på HTML-taggarnas popularitet och användbarhet har vi också övervägt scenariot när du behöver inkludera lite HTML i XML-källfilen. Dessutom har vi också utforskat hur man konverterar XML och XSLT till PDF när den befintliga XML-filen inte följer schemat.

Se även