С ростом популярности приложений, управляемых данными, необходимость экспорта данных из файлов XML в общепринятый формат PDF приобрела большое значение. В этом сообщении блога представлено пошаговое руководство по эффективному преобразованию XML в PDF в Python. Итак, начнем!
В этой статье будут рассмотрены следующие темы:
- Библиотека Python для преобразования XML в PDF
- Конвертировать XML в PDF в Python
- Создать PDF из XML в Python
- Конвертировать XML в PDF онлайн
- Бесплатные учебные ресурсы
Библиотека Python для преобразования XML в PDF
Для создания PDF-файлов из XML наиболее простым подходом является использование библиотеки Aspose.PDF for Python, предназначенной для преобразования XML в PDF. Благодаря простой установке и использованию он обеспечивает эффективное решение для преобразования документов XML в файлы PDF. Aspose.PDF for Python представляет собой надежное решение для создания, обработки и преобразования PDF-файлов, предлагающее разработчикам беспрецедентный контроль над рабочими процессами документов.
Пожалуйста, загрузите пакет или установите API из PyPI, используя следующую команду pip в консоли:
> pip install aspose-pdf
Преобразование XML в PDF в Python
Мы можем легко преобразовать XML в PDF, выполнив следующие шаги:
- Создайте объект класса Document.
- Привяжите XML с помощью метода Document.bindxml(file), указав путь к файлу XML.
- Преобразуйте XML в PDF с помощью метода Document.save(outputfilename).
В следующем примере кода показано, как преобразовать XML-файл в PDF с помощью Python.
import aspose.pdf as ap
# Создать новый PDF-документ
pdfDocument = ap.Document();
# Преобразование и привязка XML
pdfDocument.bind_xml( "C:\\Files\\sample.xml");
# Создать PDF из XML
pdfDocument.save( "C:\\Files\\generated-pdf.pdf");
Исходный XML-файл
Ниже приведен пример XML-файла, который мы использовали для преобразования в документ 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>
Сгенерированный PDF-документ
Создать PDF из XML в Python
Мы также можем создать PDF-документ из XML-файла, содержащего данные приложения. Для этой цели мы сначала преобразуем его в XML, совместимый с Aspose.PDF, с помощью XSLT, а затем преобразуем его в формат PDF.
Ниже приведен пример XML-данных, которые нам нужно преобразовать в документ 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>
Чтобы сделать эти данные совместимыми с XML Aspose.PDF, мы выполним преобразование XSLT. Для этого мы определим шаблон в файле таблицы стилей XSLT, как показано ниже.
<?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>
После того, как мы создали файл шаблона, мы можем создать PDF-файл, выполнив шаги, упомянутые ранее. Однако нам просто нужно вызвать метод Document.bindxml(xmlfile, xslfile), указав пути к файлам XML и XSLT.
В следующем примере кода показано, как создать PDF-файл из XML-файла с помощью Python.
import aspose.pdf as ap
# Создать новый PDF-документ
pdfDocument = ap.Document();
# Преобразование и привязка XML
pdfDocument.bind_xml( "C:\\Files\\data.xml", "C:\\Files\\template.xslt");
# Создать PDF из XML
pdfDocument.save( "C:\\Files\\generated-pdf-table.pdf");
Лицензия на конвертер XML в PDF
Вы можете получить временную лицензию на использование API без ограничений ознакомительной версии.
Конвертируйте XML в PDF онлайн
Вы также можете конвертировать XML-файлы в PDF-документы онлайн с помощью этого бесплатного инструмента XML в PDF-конвертер.
XML-файл в PDF – учебные ресурсы
Помимо создания XML-файлов в PDF-документы, узнайте больше о создании, манипулировании и преобразовании PDF-документов, а также изучите различные другие функции библиотеки, используя ресурсы ниже:
- Руководство разработчика
- Бесплатные онлайн-приложения
- Справочник по API
- Практические руководства и статьи
Заключение
В этой статье вы узнали, как конвертировать XML в PDF в Python. Следуя инструкциям, описанным в этой статье, вы можете легко интегрировать эту функцию в свои приложения Python для создания файлов PDF из XML. Если у вас возникнут вопросы, задайте их нам на нашем бесплатном форуме поддержки.