تحويل XML إلى PDF في بايثون | تحويل ملف XML إلى PDF

مع تزايد أهمية التطبيقات المعتمدة على البيانات، اكتسبت الحاجة إلى تصدير البيانات من ملفات XML إلى تنسيق PDF المقبول عالميًا أهمية كبيرة. يوفر منشور المدونة هذا دليلاً خطوة بخطوة لتحويل XML إلى PDF بكفاءة في Python. لذلك دعونا نبدأ!

سيتم تناول المواضيع التالية في هذه المقالة:

  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 for Python حلاً قويًا لإنشاء ملفات PDF ومعالجتها وتحويلها، مما يوفر للمطورين تحكمًا لا مثيل له في سير عمل المستندات.

يرجى تنزيل الحزمة أو تثبيت واجهة برمجة التطبيقات من PyPI باستخدام أمر النقطة التالي في وحدة التحكم:

> pip install aspose-pdf

تحويل XML إلى PDF في بايثون

يمكننا بسهولة تحويل XML إلى PDF باتباع الخطوات التالية:

  1. قم بإنشاء كائن من فئة المستند.
  2. ربط XML باستخدام أسلوب Document.bindxml(ملف) عن طريق توفير مسار ملف XML.
  3. قم بتحويل 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 التي تم إنشاؤها

تحويل XML إلى PDF في بايثون

تحويل XML إلى PDF في بايثون

توليد PDF من XML في بايثون

يمكننا أيضًا إنشاء مستند 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>

لجعل هذه البيانات متوافقة مع 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, 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");
توليد PDF من XML في بايثون

توليد PDF من XML في بايثون

رخصة تحويل XML إلى PDF

يمكنك الحصول على ترخيص مؤقت لاستخدام واجهة برمجة التطبيقات (API) دون قيود التقييم.

تحويل XML إلى PDF عبر الإنترنت

يمكنك أيضًا تحويل ملفات XML إلى مستندات PDF عبر الإنترنت باستخدام هذه الأداة المجانية محول XML إلى PDF.

ملف XML إلى PDF – مصادر التعلم

إلى جانب إنشاء ملفات XML إلى مستندات PDF، تعرف على المزيد حول إنشاء مستندات PDF ومعالجتها وتحويلها، واستكشف العديد من الميزات الأخرى للمكتبة باستخدام الموارد أدناه:

خاتمة

في هذه المقالة، تعلمت كيفية تحويل XML إلى PDF في بايثون. باتباع الخطوات الموضحة في هذه المقالة، يمكنك بسهولة دمج هذه الميزة في تطبيقات Python الخاصة بك لإنشاء ملفات PDF من XML. إذا كانت لديك أية أسئلة، فلا تتردد في إخبارنا بها عبر منتدى الدعم المجاني الخاص بنا.

أنظر أيضا