Python'da XML'i PDF'ye Dönüştürme | XML Dosyasını PDF'ye Dönüştür

Veriye dayalı uygulamaların artan önemiyle birlikte, verileri XML dosyalarından evrensel olarak kabul edilebilir PDF formatına aktarma ihtiyacı büyük önem kazanmıştır. Bu blog gönderisi, Python’da XML’i verimli bir şekilde PDF’ye dönüştürmek için adım adım bir kılavuz sağlar. Öyleyse başlayalım!

Bu makalede aşağıdaki konular ele alınacaktır:

  1. XML’i PDF’ye Dönüştürmek için Python Kitaplığı
  2. Python’da XML’i PDF’ye dönüştürün
  3. Python’da XML’den PDF oluşturun
  4. XML’i Çevrimiçi PDF’ye Dönüştürün
  5. Ücretsiz Öğrenme Kaynakları

XML’i PDF’ye Dönüştürmek için Python Kütüphanesi

XML’den PDF dosyaları oluşturmak için en basit yaklaşım, XML’den PDF’ye dönüştürme için tasarlanmış [Aspose.PDF for Python] kitaplığından yararlanmaktır. Basit kurulumu ve kullanımı ile XML dokümanlarının PDF dosyalarına dönüştürülmesinde etkili bir çözüm sunar. Aspose.PDF for Python, PDF oluşturma, işleme ve dönüştürme için güçlü bir çözüm olarak duruyor ve geliştiricilere belge iş akışları üzerinde benzersiz kontrol sunuyor.

Lütfen paketi indirin veya konsolda aşağıdaki pip komutunu kullanarak API’yi PyPI adresinden yükleyin:

> pip install aspose-pdf

Python’da XML’i PDF’ye dönüştürün

Aşağıdaki adımları izleyerek XML’i kolayca PDF’ye dönüştürebiliriz:

  1. Document sınıfının bir nesnesini oluşturun.
  2. XML dosya yolunu sağlayarak Document.bindxml(file) yöntemini kullanarak XML’i bağlayın.
  3. Document.save(outputfilename) yöntemini kullanarak XML’i PDF’ye dönüştürün.

Aşağıdaki kod örneği, Python kullanarak bir XML dosyasının PDF’ye nasıl dönüştürüleceğini gösterir.

import aspose.pdf as ap

# Yeni bir PDF belgesi oluştur
pdfDocument = ap.Document();

# XML'i dönüştürün ve bağlayın
pdfDocument.bind_xml( "C:\\Files\\sample.xml");

# XML'den PDF oluştur
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");

Kaynak XML Dosyası

Aşağıda PDF belgesine dönüştürmek için kullandığımız örnek XML dosyası bulunmaktadır.

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

Oluşturulan PDF Belgesi

Python'da XML'i PDF'ye dönüştürün

Python’da XML’i PDF’ye dönüştürün

Python’da XML’den PDF oluşturun

Uygulama verilerini içeren XML dosyasından da bir PDF belgesi oluşturabiliriz. Bu amaçla öncelikle XSLT kullanarak Aspose.PDF uyumlu XML’e, ardından da PDF formatına dönüştüreceğiz.

PDF belgesine dönüştürmemiz gereken örnek XML verileri aşağıdadır.

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

Bu verileri Aspose.PDF XML ile uyumlu hale getirmek için bir XSLT dönüşümü gerçekleştireceğiz. Bunun için bir XSLT stil sayfası dosyasında aşağıda gösterildiği gibi bir şablon tanımlayacağız.

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

Şablon dosyasını oluşturduktan sonra daha önce bahsettiğimiz adımları takip ederek bir PDF oluşturabiliriz. Ancak XML dosyası ve XSLT dosya yollarını sağlayarak Document.bindxml(xmlfile, xslfile) yöntemini çağırmamız yeterli.

Aşağıdaki kod örneği, Python kullanarak bir XML dosyasından nasıl PDF oluşturulacağını gösterir.

import aspose.pdf as ap

# Yeni bir PDF belgesi oluştur
pdfDocument = ap.Document();

# XML'i dönüştürün ve bağlayın
pdfDocument.bind_xml( "C:\\Files\\data.xml",  "C:\\Files\\template.xslt");

# XML'den PDF oluştur
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");
Python'da XML'den PDF oluşturun

Python’da XML’den PDF oluşturun

XML’den PDF’ye Dönüştürücü Lisansı

API’yi değerlendirme sınırlamaları olmadan kullanmak için geçici bir lisans alabilirsiniz.

XML’i Çevrimiçi PDF’ye Dönüştürün

Ayrıca bu ücretsiz XML’den PDF’ye dönüştürücü aracını kullanarak XML dosyalarını çevrimiçi olarak PDF belgelerine dönüştürebilirsiniz.

XML Dosyasını PDF’ye Dönüştürme – Öğrenme Kaynakları

XML dosyalarını PDF belgelerine dönüştürmenin yanı sıra, aşağıdaki kaynakları kullanarak PDF belgeleri oluşturma, değiştirme ve dönüştürme hakkında daha fazla bilgi edinin ve kitaplığın diğer çeşitli özelliklerini keşfedin:

Çözüm

Bu makalede Python’da XML’i PDF’ye nasıl dönüştüreceğinizi öğrendiniz. Bu makalede özetlenen adımları izleyerek XML’den PDF dosyaları oluşturmak için bu özelliği Python uygulamalarınıza kolayca entegre edebilirsiniz. Herhangi bir sorunuz olması durumunda, ücretsiz destek forumumuz aracılığıyla bize bildirmekten çekinmeyin.

Ayrıca bakınız