Konversi XML ke PDF dengan Python | Konversi File XML ke PDF

Dengan semakin menonjolnya aplikasi berbasis data, kebutuhan untuk mengekspor data dari file XML ke dalam format PDF yang dapat diterima secara universal menjadi semakin penting. Entri blog ini memberikan panduan langkah demi langkah untuk mengonversi XML ke PDF dengan Python secara efisien. Jadi mari kita mulai!

Topik-topik berikut akan dibahas dalam artikel ini:

  1. Perpustakaan Python untuk Mengonversi XML ke PDF
  2. Konversi XML ke PDF dengan Python
  3. Hasilkan PDF dari XML dengan Python
  4. Konversi XML ke PDF Daring
  5. Sumber Belajar Gratis

Perpustakaan Python untuk Mengonversi XML ke PDF

Untuk menghasilkan file PDF dari XML, pendekatan paling mudah adalah dengan memanfaatkan pustaka Aspose.PDF for Python yang dirancang untuk konversi XML ke PDF. Dengan instalasi dan penggunaan yang sederhana, ini memberikan solusi efisien untuk mengubah dokumen XML menjadi file PDF. Aspose.PDF for Python merupakan solusi tangguh untuk pembuatan, manipulasi, dan konversi PDF, menawarkan kepada pengembang kontrol yang tak tertandingi atas alur kerja dokumen.

Silakan unduh paketnya atau instal API dari PyPI menggunakan perintah pip berikut di konsol:

> pip install aspose-pdf

Konversi XML ke PDF dengan Python

Kita dapat dengan mudah mengubah XML ke PDF dengan mengikuti langkah-langkah di bawah ini:

  1. Buat objek kelas Document.
  2. Ikat XML menggunakan metode Document.bindxml(file) dengan menyediakan jalur file XML.
  3. Konversi XML ke PDF menggunakan metode Document.save(outputfilename).

Contoh kode berikut menunjukkan cara mengonversi file XML ke PDF menggunakan Python.

import aspose.pdf as ap

# Buat dokumen PDF baru
pdfDocument = ap.Document();

# Ubah dan ikat XML
pdfDocument.bind_xml( "C:\\Files\\sample.xml");

# Hasilkan PDF dari XML
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");

File XML Sumber

Berikut ini adalah contoh file XML yang kami gunakan untuk mengkonversi ke dokumen PDF.

<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
  <Page>
    <TextFragment>
      <TextSegment>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla odio lorem, luctus in lorem vitae, accumsan semper lectus. Cras a auctor leo, et tincidunt lacus.</TextSegment>
    </TextFragment>
  </Page>
</Document>

Dokumen PDF yang dihasilkan

Konversi XML ke PDF dengan Python

Konversi XML ke PDF dengan Python

Hasilkan PDF dari XML dengan Python

Kami juga dapat menghasilkan dokumen PDF dari file XML yang berisi data aplikasi. Untuk tujuan ini, pertama-tama kita akan mengubahnya menjadi XML yang kompatibel dengan Aspose.PDF menggunakan XSLT dan kemudian mengonversinya ke format PDF.

Berikut ini adalah contoh data XML yang perlu kita konversi ke dokumen PDF.

<?xml version="1.0" encoding="utf-8" ?>
<catalog>
  <cd>
	<Content>Hello World!</Content>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Hide your heart</title>
    <artist>Bonnie Tyler</artist>
    <country>UK</country>
    <company>CBS Records</company>
    <price>9.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Greatest Hits</title>
    <artist>Dolly Parton</artist>
    <country>USA</country>
    <company>RCA</company>
    <price>9.90</price>
    <year>1982</year>
  </cd>
  <cd>
    <title>Still got the blues</title>
    <artist>Gary Moore</artist>
    <country>UK</country>
    <company>Virgin records</company>
    <price>10.20</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Eros</title>
    <artist>Eros Ramazzotti</artist>
    <country>EU</country>
    <company>BMG</company>
    <price>9.90</price>
    <year>1997</year>
  </cd>
</catalog>

Untuk membuat data ini kompatibel dengan XML Aspose.PDF, kami akan melakukan transformasi XSLT. Untuk ini, kita akan mendefinisikan template dalam file stylesheet XSLT, seperti yang ditunjukkan di bawah ini.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
  <Document xmlns="Aspose.Pdf">
  <Page>
	 <PageInfo IsLandscape="false" Height="595" Width="420">
      <Margin Top="71" Bottom="71" Left="28" Right="28" />
    </PageInfo>
    <Header>
        <Margin Top="20" />
        <Table ColumnAdjustment="AutoFitToWindow">
            <Row>
                <Cell Alignment="1">
                    <TextFragment>
                        <TextSegment>Date: 11/01/2024</TextSegment>
                    </TextFragment>
                </Cell>
                <Cell Alignment="3">
                    <TextFragment>
                        <TextSegment>Page $p / $P</TextSegment>
                    </TextFragment>
                </Cell>
            </Row>
        </Table>
    </Header>
    <HtmlFragment>
      <![CDATA[
        <h1 style="font-family:Tahoma; font-size:16pt;">My CD Collection</h1>
        ]]>
    </HtmlFragment>
    <TextFragment>
      <TextSegment>Welcome</TextSegment>
    </TextFragment>
	<Table ColumnAdjustment="AutoFitToWindow" ColumnWidths ="10 10 10 10">
      <DefaultCellPadding Top="5" Left="0" Right="0" Bottom="5" />
      <Border>
        <Top Color="Black"></Top>
        <Bottom Color="Black"></Bottom>
        <Left Color="Black"></Left>
        <Right Color="Black"></Right>
      </Border>
      <Margin Top="15" />
      <Row BackgroundColor="LightGray" MinRowHeight="20">
        <Border>
          <Bottom Color="Black"></Bottom>
        </Border>
        <Cell Alignment="2">
          <TextFragment>
            <TextSegment>Title</TextSegment>
          </TextFragment>
        </Cell>
        <Cell>
          <TextFragment>
            <TextSegment>Artist</TextSegment>
          </TextFragment>
        </Cell>
        <Cell>
          <TextFragment>
            <TextSegment>Price</TextSegment>
          </TextFragment>
        </Cell>
        <Cell>
          <TextFragment>
            <TextSegment>Year</TextSegment>
          </TextFragment>
        </Cell>
      </Row>
	  <xsl:for-each select="catalog/cd">
		<Row>
        <Cell Alignment="2">
          <TextFragment>
            <TextSegment><xsl:value-of select="title"/></TextSegment>
          </TextFragment>
        </Cell>
        <Cell>
          <TextFragment>
            <TextSegment><xsl:value-of select="artist"/></TextSegment>
          </TextFragment>
        </Cell>
        <Cell>
          <TextFragment>
            <TextSegment><xsl:value-of select="price"/></TextSegment>
          </TextFragment>
        </Cell>
        <Cell>
          <TextFragment>
            <TextSegment><xsl:value-of select="year"/></TextSegment>
          </TextFragment>
        </Cell>
      </Row>
	  </xsl:for-each>
    </Table>
  </Page>
</Document>
</xsl:template>
</xsl:stylesheet>

Setelah kami membuat file template, kami dapat menghasilkan PDF dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu memanggil metode Document.bindxml(xmlfile, xslfile) dengan menyediakan jalur file XML dan XSLT.

Contoh kode berikut menunjukkan cara membuat PDF dari file XML menggunakan Python.

import aspose.pdf as ap

# Buat dokumen PDF baru
pdfDocument = ap.Document();

# Ubah dan ikat XML
pdfDocument.bind_xml( "C:\\Files\\data.xml",  "C:\\Files\\template.xslt");

# Hasilkan PDF dari XML
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");
Hasilkan PDF dari XML dengan Python

Hasilkan PDF dari XML dengan Python

Lisensi Konverter XML ke PDF

Anda bisa mendapatkan lisensi sementara untuk menggunakan API tanpa batasan evaluasi.

Konversi XML ke PDF Daring

Anda juga dapat mengonversi file XML menjadi dokumen PDF secara online menggunakan alat XML ke PDF converter gratis ini.

File XML ke PDF – Sumber Belajar

Selain membuat file XML menjadi dokumen PDF, pelajari lebih lanjut tentang membuat, memanipulasi, dan mengonversi dokumen PDF, serta menjelajahi berbagai fitur perpustakaan lainnya menggunakan sumber daya di bawah ini:

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengonversi XML ke PDF dengan Python. Dengan mengikuti langkah-langkah yang dijelaskan dalam artikel ini, Anda dapat dengan mudah mengintegrasikan fitur ini ke dalam aplikasi Python Anda untuk menghasilkan file PDF dari XML. Jika Anda memiliki pertanyaan, silakan beri tahu kami melalui forum dukungan gratis kami.

Lihat juga