تبدیل XML به PDF در پایتون | تبدیل فایل XML به PDF

با اهمیت روزافزون برنامه های کاربردی داده محور، نیاز به صادرات داده ها از فایل های XML به فرمت قابل قبول جهانی PDF اهمیت قابل توجهی پیدا کرده است. این پست وبلاگ یک راهنمای گام به گام برای تبدیل موثر XML به PDF در پایتون ارائه می دهد. پس بیایید شروع کنیم!

در این مقاله به موضوعات زیر پرداخته خواهد شد:

  1. کتابخانه پایتون برای تبدیل XML به PDF
  2. تبدیل XML به PDF در پایتون
  3. تولید PDF از XML در پایتون
  4. تبدیل XML به PDF آنلاین
  5. منابع آموزشی رایگان

کتابخانه پایتون برای تبدیل XML به PDF

برای تولید فایل‌های PDF از XML، ساده‌ترین روش استفاده از کتابخانه Aspose.PDF for Python است که برای تبدیل XML به PDF طراحی شده است. با نصب و استفاده ساده، راه حلی کارآمد برای تبدیل اسناد XML به فایل های PDF ارائه می دهد. Aspose.PDF برای Python به عنوان یک راه حل قوی برای تولید، دستکاری و تبدیل PDF می ایستد و به توسعه دهندگان کنترل بی نظیری را بر گردش کار اسناد ارائه می دهد.

لطفاً پکیج را دانلود کنید یا API را از PyPI با استفاده از دستور pip زیر در کنسول نصب کنید:

> pip install aspose-pdf

تبدیل XML به PDF در پایتون

با دنبال کردن مراحل زیر می توانیم به راحتی XML را به PDF تبدیل کنیم:

  1. یک شی از کلاس Document ایجاد کنید.
  2. XML را با استفاده از روش Document.bindxml(file) با ارائه مسیر فایل XML متصل کنید.
  3. XML را با استفاده از روش Document.save (outputfilename) به PDF تبدیل کنید.

نمونه کد زیر نحوه تبدیل یک فایل XML به PDF را با استفاده از پایتون نشان می دهد.

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 ایجاد شده است

تبدیل XML به PDF در پایتون

تبدیل XML به PDF در پایتون

PDF را از XML در پایتون تولید کنید

ما همچنین می توانیم یک سند PDF از فایل XML حاوی داده های برنامه تولید کنیم. برای این منظور ابتدا آن را با استفاده از XSLT به XML سازگار با Aspose.PDF تبدیل کرده و سپس آن را به فرمت 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>

برای سازگار کردن این داده ها با Aspose.PDF XML، یک تبدیل 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, xsfile) را با ارائه مسیرهای فایل XML و فایل XSLT فراخوانی کنیم.

نمونه کد زیر نحوه تولید PDF از یک فایل XML با استفاده از پایتون را نشان می دهد.

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");
PDF را از XML در پایتون تولید کنید

PDF را از XML در پایتون تولید کنید

مجوز تبدیل XML به PDF

برای استفاده از API بدون محدودیت ارزیابی، می توانید مجوز موقت دریافت کنید.

تبدیل XML به PDF آنلاین

همچنین می‌توانید با استفاده از این ابزار رایگان XML به PDF، فایل‌های XML را به اسناد PDF تبدیل کنید.

فایل XML به PDF – منابع آموزشی

علاوه بر ایجاد فایل‌های XML در اسناد PDF، درباره ایجاد، دستکاری و تبدیل اسناد PDF بیشتر بیاموزید و با استفاده از منابع زیر ویژگی‌های مختلف کتابخانه را بررسی کنید:

نتیجه

در این مقاله نحوه تبدیل XML به PDF در پایتون را یاد گرفتید. با دنبال کردن مراحل ذکر شده در این مقاله، می توانید به راحتی این ویژگی را در برنامه های پایتون خود برای تولید فایل های PDF از XML ادغام کنید. در صورت داشتن هرگونه سوال، از طریق تالار گفتمان پشتیبانی رایگان ما را در جریان بگذارید.

همچنین ببینید