XML vers PDF

Dans cet article, nous allons convertir des fichiers XML en PDF à l’aide de C#. Aspose.PDF for .NET L’API prend largement en charge la fonctionnalité de conversion XML en raison de l’inclusion de nombreuses améliorations connexes, comme demandé par les utilisateurs de l’API. Vous pouvez élever vos applications .NET avec cette fonctionnalité efficace d’exportation XML vers PDF. Considérons les cas d’utilisation suivants liés à la conversion XML en PDF en C# :

Convertir XML en PDF en C#

Pour convertir un XML en PDF, vous devez suivre le schéma XML d’Aspose.PDF for .NET qui est disponible en tant que fichier XSD. Voici un fichier XML que nous allons convertir en PDF en tant que démonstration 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>

Vous devez suivre les étapes ci-dessous pour convertir un fichier XML en fichier PDF :

  1. Initialiser un objet de la classe Document
  2. Charger le fichier XML avec la méthode BindXml
  3. Enregistrez le fichier PDF converti

L’extrait de code suivant montre comment convertir XML en PDF en C# :

// Instancier l'objet Document
Document doc = new Document();
// Lier le fichier XML source
doc.BindXml(dataDir + "XML.xml");
// Convertir XML en PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# Utiliser HTML en XML et convertir en PDF

Parfois, vous devrez peut-être utiliser HTML dans XML avant la conversion en HTML. L’API Aspose.PDF for .NET prend également en charge cette fonctionnalité. Cependant, les balises HTML et XML sont assez similaires. Par conséquent, vous devez spécifier la balise CDATA afin que le code HTML ne soit pas analysé en tant que balisage XML. L’exemple de fichier XML ci-dessous comprend du code HTML désigné par CDATA pour éviter toute anomalie :

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

Vous pouvez convertir ce fichier XML en PDF en procédant comme suit :

  1. Instancier l’objet de classe Document
  2. Charger le fichier XML d’entrée
  3. Enregistrez le fichier PDF de sortie

L’extrait de code ci-dessous montre comment convertir un fichier XML contenant du HTML en PDF en C# :

// Instancier l'objet Document
Document doc = new Document();
// Lier le fichier XML source
doc.BindXml(dataDir + "XML.xml");
// Convertir XML en PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Convertir XML et XSLT en PDF en C#

Parfois, vous pouvez avoir un fichier XML existant qui contient des données d’application importantes et vous souhaitez générer des rapports PDF à l’aide de ce fichier XML. Dans de tels scénarios, vous pouvez créer un fichier XSLT pour transformer votre document XML existant en document XML compatible avec Aspose.PDF. Ensuite, vous pouvez procéder à la conversion de XML en PDF. Apprenons cela avec un exemple simple et basique:

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

Vous pouvez remarquer que le fichier XML ne suit pas le schéma XML d’Aspose.PDF for .NET. Cependant, le fichier XSLT le transforme en compatibilité requise. Vous pouvez maintenant suivre les étapes ci-dessous pour convertir un tel XML en utilisant XSLT en PDF :

  1. Initialiser PDF Document
  2. Lier Fichier XML et XSLT
  3. Enregistrer le document PDF de sortie

L’extrait de code ci-dessous est basé sur ces étapes qui montrent comment convertir XML en PDF en C# :

//Créer un document pdf
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Lier les fichiers XML et XSLT au document
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Enregistrer le document
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Conclusion

Nous avons appris à convertir XML en fichier PDF en C# à condition que le XML suive le schéma mentionné de l’API. Compte tenu de la popularité et de la convivialité des balises HTML, nous avons également envisagé le scénario dans lequel vous devez inclure du code HTML dans le fichier XML source. De plus, nous avons également exploré comment convertir XML et XSLT en PDF lorsque le fichier XML existant ne suit pas le schéma.

Voir également