המרת XML ל-PDF ב-Python | המרת קובץ XML ל-PDF

עם הבולטות ההולכת וגוברת של יישומים מונעי נתונים, הצורך לייצא נתונים מקובצי XML לפורמט PDF מקובל על כל העולם קיבל חשיבות משמעותית. פוסט זה בבלוג מספק מדריך שלב אחר שלב להמרה יעילה של XML ל-PDF ב-Python. אז בואו נתחיל!

הנושאים הבאים יכוונו במאמר זה:

  1. ספריית Python להמרת XML ל-PDF
  2. המר XML ל-PDF ב-Python
  3. צור PDF מ-XML ב-Python
  4. המר XML ל-PDF באינטרנט
  5. משאבי למידה בחינם

ספריית Python להמרת 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 ב-Python

אנו יכולים להפוך את XML ל-PDF בקלות על ידי ביצוע השלבים הבאים:

  1. צור אובייקט של המחלקה מסמך.
  2. כרוך XML באמצעות שיטת Document.bindxml(file) על ידי מתן נתיב קובץ ה-XML.
  3. המר XML ל-PDF בשיטת Document.save(שם קובץ פלט).

דוגמת הקוד הבאה מראה כיצד להמיר קובץ 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 ב-Python

המר XML ל-PDF ב-Python

צור 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>

כדי להפוך נתונים אלה לתואמים ל-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 ב-Python

צור PDF מ-XML ב-Python

רישיון ממיר XML ל-PDF

אתה יכול לקבל רישיון זמני להשתמש ב-API ללא מגבלות הערכה.

המר XML ל-PDF באינטרנט

אתה יכול גם להמיר קובצי XML למסמכי PDF באופן מקוון באמצעות הכלי החינמי הזה ממיר XML ל-PDF.

קובץ XML ל-PDF - משאבי למידה

מלבד יצירת קובצי XML למסמכי PDF, למד עוד על יצירה, מניפולציה והמרה של מסמכי PDF, וחקור תכונות שונות אחרות של הספרייה באמצעות המשאבים שלהלן:

סיכום

במאמר זה, למדת כיצד להמיר XML ל-PDF ב-Python. על ידי ביצוע השלבים המתוארים במאמר זה, תוכל לשלב בקלות תכונה זו ביישומי Python שלך כדי ליצור קבצי PDF מ-XML. אם יש לך שאלות כלשהן, אל תהסס ליידע אותנו באמצעות פורום התמיכה החינמית שלנו.

ראה גם