XML do PDF

V tomto článku budeme převádět soubory XML do PDF v C#. Knihovna Aspose.PDF for .NET rozsáhle podporuje funkci převodu XML, protože obsahuje mnoho souvisejících vylepšení, jak to uživatelé požadovali. Pomocí této efektivní funkce exportu XML do PDF můžete pozvednout své aplikace .NET. Dobrá věc je také to, že můžete provést převod z XML do PDF zdarma.

Podívejme se na následující případy použití související s převodem XML do PDF:

C# PDF knihovna

Nejprve nainstalujte knihovnu převodníku XML na PDF pomocí následujícího příkazu NPM.

PM> Install-Package Aspose.PDF

Jak převést XML do PDF v C#

Chcete-li převést XML do PDF, musíte se řídit XML schématem Aspose.PDF for .NET API, které je dostupné jako soubor XSD. Následuje soubor XML, který převedeme do PDF jako ukázku 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>

Chcete-li převést data XML do PDF, musíte provést následující kroky:

  1. Inicializujte objekt třídy Document
  2. Načtěte soubor XML metodou BindXml
  3. Uložte převedený soubor PDF

Následující fragment kódu ukazuje, jak převést XML do PDF v C#:

// Objekt okamžitého dokumentu
Document doc = new Document();
// Svázat zdrojový soubor XML
doc.BindXml(dataDir + "XML.xml");
// Převést XML do PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# XML do PDF pomocí HTML

Někdy může být nutné použít HTML v XML před převodem do HTML. Aspose.PDF for .NET API podporuje tuto funkci také. HTML a XML tagy jsou si však dost podobné. Proto je třeba zadat značku CDATA, aby HTML nebylo analyzováno jako značka XML. Níže ukázkový soubor XML obsahuje HTML označené CDATA, aby se předešlo jakékoli anomálii:

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

Tento soubor XML můžete převést na PDF pomocí následujících kroků:

  1. Vytvořte instanci objektu třídy Document
  2. Načtěte vstupní soubor XML
  3. Uložte výstupní soubor PDF

Níže uvedený úryvek kódu ukazuje, jak převést soubor XML obsahující HTML na PDF v C#:

// Objekt okamžitého dokumentu
Document doc = new Document();
// Svázat zdrojový soubor XML
doc.BindXml(dataDir + "XML.xml");
// Převést XML do PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Export XML a XSLT do PDF v C#

Někdy můžete mít existující soubor XML, který obsahuje důležitá data aplikace, a chcete pomocí tohoto souboru XML generovat sestavy PDF. V takových scénářích můžete vytvořit soubor XSLT pro transformaci vašeho stávajícího dokumentu XML na kompatibilní dokument XML Aspose.PDF. Poté můžete přistoupit k převodu XML do PDF. Pojďme se to naučit na jednoduchých a základních příkladech:

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

Můžete si všimnout, že soubor XML se neřídí schématem XML Aspose.PDF for .NET API. Soubor XSLT jej však transformuje na požadovanou kompatibilitu. Nyní můžete podle následujících kroků převést takové XML pomocí XSLT na PDF:

  1. Inicializovat PDF dokument
  2. Svázat Soubor XML a XSLT
  3. Uložte výstupní dokument PDF

Níže uvedený fragment kódu je založen na těchto krocích, které ukazují, jak převést XML do PDF v C#:

//Vytvořte dokument pdf
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Svažte XML a XSLT soubory k dokumentu
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Uložte dokument
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Zdarma C# XML to PDF Converter

Můžete získat bezplatnou dočasnou licenci a převádět data XML do PDF bez jakýchkoli omezení.

Závěr

Naučili jsme se, jak převést XML na PDF soubor v C# za předpokladu, že XML bude následovat zmíněné schéma API. Vzhledem k popularitě a použitelnosti HTML tagů jsme také zvážili scénář, kdy potřebujete zahrnout nějaké HTML do zdrojového XML souboru. Kromě toho jsme také prozkoumali, jak převést XML a XSLT do PDF, když existující soubor XML neodpovídá schématu.

Viz také