XML เป็น PDF

ในบทความนี้ เราจะแปลงไฟล์ XML เป็น PDF โดยใช้ C# Aspose.PDF for .NET API รองรับคุณลักษณะการแปลง XML อย่างกว้างขวาง เนื่องจากมีการรวมการปรับปรุงที่เกี่ยวข้องจำนวนมาก ตามที่ผู้ใช้ API ร้องขอ คุณสามารถยกระดับแอปพลิเคชัน .NET ของคุณด้วยคุณสมบัติที่มีประสิทธิภาพในการส่งออก XML เป็น PDF ให้เราพิจารณากรณีการใช้งานต่อไปนี้ที่เกี่ยวข้องกับการแปลง XML เป็น PDF ใน C#:

แปลง XML เป็น PDF ใน C#

สำหรับการแปลง XML เป็น PDF คุณต้องทำตาม XML Schema ของ Aspose.PDF for .NET API ซึ่งมีให้ในรูปแบบ ไฟล์ XSD ต่อไปนี้คือไฟล์ XML ที่เราจะแปลงเป็น PDF เป็นการสาธิต Hello World

<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
  <Page id="mainPage">
    <TextFragment>
      <TextSegment>Hello</TextSegment>
    </TextFragment>
 
    <TextFragment>
      <TextSegment>World!</TextSegment>
    </TextFragment>
  </Page>
</Document>

คุณต้องทำตามขั้นตอนด้านล่างเพื่อแปลงไฟล์ XML เป็น PDF:

  1. เริ่มต้นวัตถุของคลาส Document
  2. โหลดไฟล์ XML ด้วยวิธี BindXml
  3. บันทึกไฟล์ PDF ที่แปลงแล้ว

ข้อมูลโค้ดต่อไปนี้แสดงวิธีแปลง XML เป็น PDF ใน C #:

// ยกตัวอย่างวัตถุเอกสาร
Document doc = new Document();
// ผูกไฟล์ XML ต้นทาง
doc.BindXml(dataDir + "XML.xml");
// แปลง XML เป็น PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# ใช้ HTML ใน XML และแปลงเป็น PDF

บางครั้งคุณอาจต้องใช้ HTML ใน XML ก่อนที่จะแปลงเป็น HTML Aspose.PDF for .NET API รองรับคุณสมบัตินี้เช่นกัน อย่างไรก็ตาม แท็ก HTML และ XML นั้นค่อนข้างคล้ายกัน ดังนั้น คุณต้องระบุแท็ก CDATA เพื่อไม่ให้แยกวิเคราะห์ HTML เป็นมาร์กอัป XML ด้านล่างไฟล์ XML ตัวอย่างประกอบด้วย HTML ที่แสดงโดย CDATA เพื่อหลีกเลี่ยงความผิดปกติใดๆ:

<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
  <Page id="mainSection">
    <HtmlFragment>
      <![CDATA[
        <font style="font-family:Tahoma; font-size:40px;">This is Html String.</font>
        ]]>
    </HtmlFragment>
  </Page>
</Document>

คุณสามารถแปลงไฟล์ XML นี้เป็น PDF โดยทำตามขั้นตอนต่อไปนี้:

  1. สร้างอินสแตนซ์ Document class object
  2. โหลดไฟล์ XML อินพุต
  3. บันทึกไฟล์ PDF ที่ส่งออก

ข้อมูลโค้ดด้านล่างแสดงวิธีแปลงไฟล์ XML ที่มี HTML เป็น PDF ใน C#:

// ยกตัวอย่างวัตถุเอกสาร
Document doc = new Document();
// ผูกไฟล์ XML ต้นทาง
doc.BindXml(dataDir + "XML.xml");
// แปลง XML เป็น PDF
doc.Save(dataDir + "XMLToPDF.pdf");

แปลง XML และ XSLT เป็น PDF ใน C#

บางครั้งคุณอาจมีไฟล์ XML ที่มีอยู่ซึ่งมีข้อมูลแอปพลิเคชันที่สำคัญ และคุณต้องการสร้างรายงาน PDF โดยใช้ไฟล์ XML นั้น ในสถานการณ์ดังกล่าว คุณสามารถสร้างไฟล์ XSLT เพื่อแปลงเอกสาร XML ที่มีอยู่เป็นเอกสาร XML ที่เข้ากันได้ของ Aspose.PDF จากนั้นคุณสามารถดำเนินการแปลง XML เป็น PDF ให้เราเรียนรู้สิ่งนี้ด้วยตัวอย่างพื้นฐานง่ายๆ:

<?xml version="1.0" encoding="utf-8" ?>
<Contents>
  <Content>Hello World!</Content>
</Contents>
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="text()"/>
    <xsl:template match="/Contents">
    <html>
      <Document xmlns="Aspose.Pdf" IsAutoHyphenated="false">
        <PageInfo>
          <DefaultTextState
                            Font = "Helvetica" FontSize="8" LineSpacing="4"/>
          <Margin Left="5cm" Right="5cm" Top="3cm" Bottom="15cm" />
        </PageInfo>
        <Page id="mainSection">
          <TextFragment>
            <TextSegment>
              <xsl:value-of select="Content"/>
            </TextSegment>
          </TextFragment>
        </Page>
      </Document>
    </html>
</xsl:template>
</xsl:stylesheet>

คุณสังเกตได้ว่าไฟล์ XML ไม่เป็นไปตาม XML schema ของ Aspose.PDF for .NET API อย่างไรก็ตาม ไฟล์ XSLT จะแปลงไฟล์ให้มีความเข้ากันได้ที่จำเป็น ตอนนี้คุณสามารถทำตามขั้นตอนด้านล่างเพื่อแปลง XML ดังกล่าวโดยใช้ XSLT เป็น PDF:

  1. เริ่มต้น PDF เอกสาร
  2. ผูก ไฟล์ XML และ XSLT
  3. บันทึกเอกสาร PDF ที่ส่งออก

ข้อมูลโค้ดด้านล่างอิงตามขั้นตอนเหล่านี้ซึ่งแสดงวิธีแปลง XML เป็น PDF ใน C#:

//สร้างเอกสาร PDF
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//ผูกไฟล์ XML และ XSLT เข้ากับเอกสาร
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//บันทึกเอกสาร
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

บทสรุป

เราได้เรียนรู้วิธีแปลงไฟล์ XML เป็น PDF ใน C# โดย XML เป็นไปตามสคีมาที่กล่าวถึงของ API เมื่อพิจารณาถึงความนิยมและความสามารถในการใช้งานของแท็ก HTML เราได้พิจารณาถึงสถานการณ์เมื่อคุณต้องการรวม HTML บางส่วนในไฟล์ XML ต้นทาง นอกจากนี้ เรายังได้สำรวจวิธีแปลง XML และ XSLT เป็น PDF เมื่อไฟล์ XML ที่มีอยู่ไม่เป็นไปตามสคีมา

ดูสิ่งนี้ด้วย