XML a PDF

En este artículo, convertiremos archivos XML a PDF usando C#. Aspose.PDF for .NET La API es ampliamente compatible con la función de conversión XML debido a la inclusión de muchas mejoras relacionadas, según lo solicitado por los usuarios de la API. Puede elevar sus aplicaciones .NET con esta característica eficiente de exportar XML a PDF. Consideremos los siguientes casos de uso relacionados con la conversión de XML a PDF en C#:

Convertir XML a PDF en C#

Para convertir un XML a PDF, debe seguir el esquema XML de Aspose.PDF for .NET API que está disponible como archivo XSD. El siguiente es un archivo XML que convertiremos a PDF como una demostración de 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>

Debe seguir los pasos a continuación para convertir un archivo XML a PDF:

  1. Inicializar un objeto de Document Clase
  2. Cargue el archivo XML con el método BindXml
  3. Guarde el archivo PDF convertido

El siguiente fragmento de código muestra cómo convertir XML a PDF en C#:

// Instanciar objeto de documento
Document doc = new Document();
// Vincular archivo XML de origen
doc.BindXml(dataDir + "XML.xml");
// Convertir XML a PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# Usar HTML en XML y convertir a PDF

A veces, es posible que necesite usar HTML en XML antes de la conversión a HTML. Aspose.PDF for .NET API también es compatible con esta función. Sin embargo, las etiquetas HTML y XML son bastante similares. Por lo tanto, debe especificar la etiqueta CDATA para que el HTML no se analice como marcado XML. A continuación, el archivo XML de muestra incluye HTML indicado por CDATA para evitar cualquier anomalía:

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

Puede convertir este archivo XML a PDF con los siguientes pasos:

  1. Instanciar Document objeto de clase
  2. Cargue el archivo XML de entrada
  3. Guarde el archivo PDF de salida

El siguiente fragmento de código muestra cómo convertir un archivo XML, que contiene HTML, a PDF en C#:

// Instanciar objeto de documento
Document doc = new Document();
// Vincular archivo XML de origen
doc.BindXml(dataDir + "XML.xml");
// Convertir XML a PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Convierta XML y XSLT a PDF en C#

En ocasiones, es posible que tenga un archivo XML existente que contenga datos importantes de la aplicación y desee generar informes en PDF utilizando ese archivo XML. En tales escenarios, puede crear un archivo XSLT para transformar su documento XML existente en un documento XML compatible con Aspose.PDF. Luego puede proceder a convertir XML a PDF. Aprendamos esto con un ejemplo simple y básico:

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

Puede notar que el archivo XML no sigue el esquema XML de Aspose.PDF for .NET API. Sin embargo, el archivo XSLT lo transforma a la compatibilidad requerida. Ahora puede seguir los pasos a continuación para convertir dicho XML usando XSLT a PDF:

  1. Inicializar PDF Document
  2. Enlazar Archivo XML y XSLT
  3. Guarde el documento PDF de salida

El fragmento de código a continuación se basa en estos pasos que muestran cómo convertir XML a PDF en C#:

//Crear documento pdf
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Enlazar archivos XML y XSLT al documento
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Guardar el documento
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Conclusión

Hemos aprendido cómo convertir archivos XML a PDF en C# siempre que el XML siga el esquema mencionado de la API. Teniendo en cuenta la popularidad y la facilidad de uso de las etiquetas HTML, también hemos considerado el escenario en el que necesita incluir algo de HTML en el archivo XML de origen. Además, también hemos explorado cómo convertir XML y XSLT a PDF cuando el archivo XML existente no sigue el esquema.

Ver también