Wraz z rosnącym znaczeniem aplikacji opartych na danych, potrzeba eksportowania danych z plików XML do powszechnie akceptowanego formatu PDF zyskała na znaczeniu. Ten wpis na blogu zawiera przewodnik krok po kroku dotyczący wydajnej konwersji formatu XML na format PDF w języku Python. Więc zaczynajmy!
W tym artykule zostaną omówione następujące tematy:
- Biblioteka Python do konwersji XML na PDF
- Konwertuj XML na PDF w Python
- Generuj plik PDF z XML w Python
- Konwertuj XML na PDF online
- Darmowe zasoby edukacyjne
Biblioteka Python do konwersji XML na PDF
Do generowania plików PDF z XML najprostszą metodą jest wykorzystanie biblioteki Aspose.PDF for Python przeznaczonej do konwersji XML na PDF. Dzięki prostej instalacji i obsłudze stanowi wydajne rozwiązanie do przekształcania dokumentów XML w pliki PDF. Aspose.PDF for Python to solidne rozwiązanie do generowania, manipulacji i konwersji plików PDF, oferujące programistom niezrównaną kontrolę nad obiegiem dokumentów.
Proszę pobierz pakiet lub zainstaluj API z PyPI, używając następującego polecenia pip w konsoli:
> pip install aspose-pdf
Konwertuj XML na PDF w Python
Możemy łatwo przekształcić XML w PDF, wykonując poniższe kroki:
- Utwórz obiekt klasy Document.
- Powiąż kod XML za pomocą metody Document.bindxml(file), podając ścieżkę pliku XML.
- Konwertuj plik XML na format PDF za pomocą metody Document.save(nazwa pliku wyjściowego).
Poniższy przykładowy kod pokazuje, jak przekonwertować plik XML na plik PDF przy użyciu języka Python.
import aspose.pdf as ap
# Utwórz nowy dokument PDF
pdfDocument = ap.Document();
# Przekształć i powiąż XML
pdfDocument.bind_xml( "C:\\Files\\sample.xml");
# Wygeneruj plik PDF z XML
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");
Źródłowy plik XML
Poniżej znajduje się przykładowy plik XML, który wykorzystaliśmy do konwersji na dokument 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>
Wygenerowany dokument PDF
Wygeneruj plik PDF z XML w Python
Możemy także wygenerować dokument PDF z pliku XML zawierającego dane aplikacji. W tym celu najpierw przekształcimy go do formatu XML zgodnego z Aspose.PDF za pomocą XSLT, a następnie przekonwertujemy go do formatu PDF.
Poniżej znajdują się przykładowe dane XML, które musimy przekonwertować do dokumentu 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>
Aby zapewnić zgodność tych danych z formatem XML Aspose.PDF, przeprowadzimy transformację XSLT. W tym celu zdefiniujemy szablon w pliku arkusza stylów XSLT, jak pokazano poniżej.
<?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>
Po utworzeniu pliku szablonu możemy wygenerować plik PDF, wykonując kroki wymienione wcześniej. Wystarczy jednak wywołać metodę Document.bindxml(xmlfile, xslfile), podając ścieżki do plików XML i XSLT.
Poniższy przykładowy kod pokazuje, jak wygenerować plik PDF z pliku XML przy użyciu języka Python.
import aspose.pdf as ap
# Utwórz nowy dokument PDF
pdfDocument = ap.Document();
# Przekształć i powiąż XML
pdfDocument.bind_xml( "C:\\Files\\data.xml", "C:\\Files\\template.xslt");
# Wygeneruj plik PDF z XML
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");
Licencja na konwerter XML do PDF
Możesz uzyskać tymczasową licencję na korzystanie z interfejsu API bez ograniczeń ewaluacyjnych.
Konwertuj XML na PDF online
Możesz także konwertować pliki XML na dokumenty PDF online, korzystając z tego bezpłatnego narzędzia konwerter XML na PDF.
Plik XML do formatu PDF – zasoby edukacyjne
Oprócz tworzenia plików XML w dokumentach PDF, dowiedz się więcej o tworzeniu, manipulowaniu i konwertowaniu dokumentów PDF oraz poznaj różne inne funkcje biblioteki, korzystając z poniższych zasobów:
- Przewodnik dewelopera
- Darmowe aplikacje internetowe
- Odniesienie do API
- Poradniki i artykuły z instrukcjami
Wniosek
W tym artykule nauczyłeś się konwertować XML na PDF w Python. Wykonując kroki opisane w tym artykule, możesz łatwo zintegrować tę funkcję z aplikacjami Python w celu generowania plików PDF z XML. Jeśli masz jakiekolwiek pytania, daj nam znać za pośrednictwem naszego bezpłatnego forum pomocy technicznej.