XML به PDF

در این مقاله، فایل های XML را با استفاده از سی شارپ به PDF تبدیل می کنیم. Aspose.PDF for .NET API به طور گسترده ای از ویژگی تبدیل XML پشتیبانی می کند، زیرا به دلیل افزودن بسیاری از پیشرفت های مرتبط، همانطور که توسط کاربران API درخواست شده است، پشتیبانی می کند. با این ویژگی کارآمد صادرات XML به PDF می توانید برنامه های دات نت خود را ارتقا دهید. اجازه دهید موارد استفاده زیر را در رابطه با تبدیل XML به PDF در سی شارپ در نظر بگیریم:

تبدیل XML به PDF در سی شارپ

برای تبدیل XML به PDF، باید از طرح XML Aspose.PDF برای API .NET پیروی کنید که به صورت فایل XSD موجود است. در زیر یک فایل XML است که ما آن را به عنوان نمایش Hello World به PDF تبدیل خواهیم کرد.

<?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 در سی شارپ را نشان می دهد:

// Instantiate Object Document
Document doc = new Document();
// فایل XML منبع را متصل کنید
doc.BindXml(dataDir + "XML.xml");
// تبدیل XML به PDF
doc.Save(dataDir + "XMLToPDF.pdf");

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

گاهی اوقات ممکن است لازم باشد قبل از تبدیل به HTML از HTML در XML استفاده کنید. 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 را نمونه سازی کنید
  2. فایل XML ورودی را بارگیری کنید
  3. فایل PDF خروجی را ذخیره کنید

قطعه کد زیر نحوه تبدیل یک فایل XML حاوی HTML را به PDF در سی شارپ نشان می دهد:

// Instantiate Object Document
Document doc = new Document();
// فایل XML منبع را متصل کنید
doc.BindXml(dataDir + "XML.xml");
// تبدیل XML به PDF
doc.Save(dataDir + "XMLToPDF.pdf");

تبدیل XML و XSLT به PDF در سی شارپ

گاهی اوقات ممکن است یک فایل XML موجود داشته باشید که حاوی داده های مهم برنامه است و بخواهید با استفاده از آن فایل XML گزارش های PDF ایجاد کنید. در چنین سناریوهایی، می توانید فایل 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 Aspose.PDF برای API .NET پیروی نمی کند. با این حال، فایل XSLT آن را به سازگاری مورد نیاز تبدیل می کند. اکنون می توانید مراحل زیر را برای تبدیل چنین XML با استفاده از XSLT به PDF دنبال کنید:

  1. مقداردهی اولیه PDF سند
  2. Bind فایل XML و XSLT
  3. سند PDF خروجی را ذخیره کنید

قطعه کد زیر بر اساس این مراحل است که نحوه تبدیل XML به PDF در سی شارپ را نشان می دهد:

//سند 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 در سی شارپ تبدیل کنیم به شرطی که XML از شمای ذکر شده API پیروی کند. با توجه به محبوبیت و کاربرد تگ‌های HTML، ما همچنین سناریویی را در نظر گرفته‌ایم که شما باید مقداری HTML را در فایل XML منبع قرار دهید. علاوه بر این، ما همچنین نحوه تبدیل XML و XSLT به PDF را در زمانی که فایل XML موجود از طرح پیروی نمی کند، بررسی کرده ایم.

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