XML ke PDF

Pada artikel ini, kami akan mengonversi file XML ke PDF menggunakan C#. Aspose.PDF for .NET API secara luas mendukung fitur konversi XML karena penyertaan banyak peningkatan terkait, seperti yang diminta oleh pengguna API. Anda dapat meningkatkan aplikasi .NET Anda dengan fitur efisien mengekspor XML ke PDF. Mari kita pertimbangkan kasus penggunaan berikut yang terkait dengan konversi XML ke PDF di C#:

Konversikan XML ke PDF dalam C#

Untuk mengonversi XML ke PDF, Anda harus mengikuti Skema XML Aspose.PDF for .NET API yang tersedia sebagai file XSD. Berikut ini adalah file XML yang akan kami konversi ke PDF sebagai demonstrasi 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>

Anda harus mengikuti langkah-langkah di bawah ini untuk mengonversi file XML ke PDF:

  1. Inisialisasi objek Document Class
  2. Muat file XML dengan metode BindXml.
  3. Simpan file PDF yang dikonversi

Cuplikan kode berikut menunjukkan cara mengonversi XML ke PDF di C#:

// Instansiasi objek Document
Document doc = new Document();
// Ikat file XML sumber
doc.BindXml(dataDir + "XML.xml");
// Konversikan XML ke PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C # Gunakan HTML dalam XML dan Konversikan ke PDF

Terkadang Anda mungkin perlu menggunakan HTML dalam XML sebelum konversi ke HTML. Aspose.PDF for .NET API juga mendukung fitur ini. Namun, tag HTML dan XML sangat mirip. Oleh karena itu, Anda perlu menentukan tag CDATA agar HTML tidak diuraikan sebagai markup XML. Contoh file XML di bawah menyertakan HTML yang dilambangkan dengan CDATA untuk menghindari anomali:

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

Anda dapat mengonversi file XML ini ke PDF dengan langkah-langkah berikut:

  1. Instansiasi objek kelas Document.
  2. Muat file XML masukan
  3. Simpan file PDF keluaran

Cuplikan kode di bawah ini menunjukkan cara mengonversi file XML, yang berisi HTML, ke PDF dalam C#:

// Instansiasi objek Document
Document doc = new Document();
// Ikat file XML sumber
doc.BindXml(dataDir + "XML.xml");
// Konversikan XML ke PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Konversikan XML dan XSLT ke PDF dalam C#

Terkadang Anda mungkin memiliki file XML yang berisi data aplikasi penting dan Anda ingin membuat laporan PDF menggunakan file XML tersebut. Dalam skenario seperti itu, Anda dapat membuat file XSLT untuk mengubah dokumen XML yang ada menjadi dokumen XML yang kompatibel dengan Aspose.PDF. Kemudian Anda dapat melanjutkan untuk mengonversi XML ke PDF. Mari kita pelajari ini dengan contoh sederhana dan dasar:

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

Anda dapat melihat bahwa file XML tidak mengikuti skema XML Aspose.PDF for .NET API. Namun, file XSLT mengubahnya menjadi kompatibilitas yang diperlukan. Sekarang Anda dapat mengikuti langkah-langkah di bawah ini untuk mengonversi XML tersebut menggunakan XSLT ke PDF:

  1. Inisialisasi PDF Document
  2. Bind File XML dan XSLT
  3. Simpan dokumen PDF keluaran

Cuplikan kode di bawah ini didasarkan pada langkah-langkah berikut yang menunjukkan cara mengonversi XML ke PDF dalam C#:

//Buat dokumen pdf
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Ikat file XML dan XSLT ke dokumen
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Simpan dokumen
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Kesimpulan

Kami telah mempelajari cara mengonversi file XML ke PDF dalam C# asalkan XML mengikuti skema API yang disebutkan. Mempertimbangkan popularitas dan kegunaan tag HTML, kami juga telah mempertimbangkan skenario saat Anda perlu menyertakan beberapa HTML dalam file XML sumber. Selain itu, kami juga telah menjelajahi cara mengonversi XML dan XSLT ke PDF saat file XML yang ada tidak mengikuti skema.

Lihat juga