XML in PDF

In questo articolo, convertiremo i file XML in PDF usando C#. Aspose.PDF for .NET L’API supporta ampiamente la funzione di conversione XML a causa dell’inclusione di molti miglioramenti correlati, come richiesto dagli utenti dell’API. Puoi migliorare le tue applicazioni .NET con questa efficiente funzionalità di esportazione di XML in PDF. Consideriamo i seguenti casi d’uso relativi alla conversione da XML a PDF in C#:

Converti XML in PDF in C#

Per convertire un XML in PDF, è necessario seguire lo schema XML di Aspose.PDF per l’API .NET che è disponibile come file XSD. Di seguito è riportato un file XML che convertiremo in PDF come dimostrazione di Hello World.

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

È necessario seguire i passaggi seguenti per convertire un file XML in PDF:

  1. Inizializza un oggetto di Document Class
  2. Carica il file XML con il metodo BindXml.
  3. Salva il file PDF convertito

Il seguente frammento di codice mostra come convertire XML in PDF in C#:

// Istanzia l'oggetto Document
Document doc = new Document();
// Associa il file XML di origine
doc.BindXml(dataDir + "XML.xml");
// Converti XML in PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# Usa HTML in XML e Converti in PDF

A volte potrebbe essere necessario utilizzare HTML in XML prima della conversione in HTML. Anche Aspose.PDF per .NET API supporta questa funzionalità. Tuttavia, i tag HTML e XML sono abbastanza simili. Pertanto, è necessario specificare il tag CDATA in modo che l’HTML non venga analizzato come markup XML. Di seguito il file XML di esempio include HTML indicato da CDATA per evitare qualsiasi anomalia:

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

Puoi convertire questo file XML in PDF con i seguenti passaggi:

  1. Istanziare l’oggetto classe Documento.
  2. Carica il file XML di input
  3. Salva il file PDF di output

Di seguito il frammento di codice mostra come convertire un file XML, contenente HTML, in PDF in C#:

// Istanzia l'oggetto Document
Document doc = new Document();
// Associa il file XML di origine
doc.BindXml(dataDir + "XML.xml");
// Converti XML in PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Converti XML e XSLT in PDF in C#

A volte potresti avere un file XML esistente che contiene dati importanti dell’applicazione e desideri generare rapporti PDF utilizzando quel file XML. In tali scenari, puoi creare un file XSLT per trasformare il tuo documento XML esistente nel documento XML compatibile di Aspose.PDF. Quindi puoi procedere alla conversione di XML in PDF. Impariamo questo con un esempio semplice e di base:

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

È possibile notare che il file XML non segue lo schema XML di Aspose.PDF per .NET API. Tuttavia, il file XSLT lo trasforma nella compatibilità richiesta. Ora puoi seguire i passaggi seguenti per convertire tale XML utilizzando XSLT in PDF:

  1. Inizializza PDF Documento
  2. Lega File XML e XSLT
  3. Salva il documento PDF di output

Il frammento di codice seguente si basa su questi passaggi che mostrano come convertire XML in PDF in C#:

//Crea documento pdf
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Associa i file XML e XSLT al documento
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Salva il documento
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Conclusione

Abbiamo imparato come convertire un file XML in PDF in C# a condizione che l’XML segua lo schema menzionato dell’API. Considerando la popolarità e l’usabilità dei tag HTML, abbiamo anche considerato lo scenario in cui è necessario includere del codice HTML nel file XML di origine. Inoltre, abbiamo anche esplorato come convertire XML e XSLT in PDF quando il file XML esistente non segue lo schema.

Guarda anche