XML به PDF C#

XML(زبان علامت‌گذاری قابل توسعه) یک فرمت پرکاربرد برای سازگاری داده‌ها است، در حالی که PDF(فرمت سند قابل حمل) انتخاب اصلی برای ایجاد و به اشتراک‌گذاری اسناد در یک فرمت قابل خواندن و چاپ است. در این راهنما، ما به بررسی چگونگی تبدیل بدون مشکل XML به PDF با استفاده از C# خواهیم پرداخت.

چرا XML را به PDF تبدیل کنیم؟

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

مبدل XML به PDF - نصب API C#

شما می‌توانید Conholdate.Total for .NET را از طریق دانلود فایل DLL یا اجرای فرمان نصب NuGet زیر در سیستم خود نصب کنید:

PM> NuGet\Install-Package Conholdate.Total

XML را به PDF در C# تبدیل کنید

برای این مثال تبدیل XML به PDF در C#، ما از فایل نمونه XML زیر استفاده خواهیم کرد:

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

  • یک شیء از کلاس Document ایجاد کنید تا فایل XML ورودی را بارگذاری کنید.
  • منبع فایل را با روش BindXml متصل کنید.
  • XML را با استفاده از روش Save به PDF تبدیل کنید.

کد نمونه زیر نشان می دهد که چگونه XML را به PDF در C# تبدیل کنیم:

// Instantiate Document object
Document doc = new Document();

// Bind source XML file
doc.BindXml(dataDir + "input.xml");

// تبدیل XML به PDF
doc.Save(dataDir + "XMLToPDF.pdf");

با این حال، شایان ذکر است که فایل XML منبع باید از XSD schema برای تبدیل پیروی کند.

تبدیل XML و XSLT به PDF در C#

در برخی از سناریوها، شما ممکن است یک فایل XML سفارشی داشته باشید که نیاز دارید یک سند PDF تولید کنید. بنابراین می‌توانید یک فایل XSLT ایجاد کنید تا فایل‌های XML سفارشی را پردازش کند، همانطور که در نمونه فایل‌های زیر توضیح داده شده است:

Sample XML File

<?xml version="1.0" encoding="utf-8" ?>
<Contents>
  <Content>Hello World!</Content>
</Contents>

نمونه فایل 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="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 و XSLT به اسناد PDF در C# می‌پردازد:

  • یک شی از کلاس Document ایجاد کنید.
  • فایل‌های XML و XSLT را متصل کنید.
  • خروجی سند PDF را ذخیره کنید.

کد نمونه زیر توضیح می‌دهد که چگونه XML و XSLT را در C# به PDF تبدیل کنیم:

//Create pdf document
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();

//Bind XML and XSLT files
try
{
    pdf.BindXml("hello-world.xml", "hello-world.xslt");
}
catch (System.Exception)
{

    throw;
}

//Save the document
pdf.Save("HelloWorldXml.pdf");

مجوز ارزیابی رایگان

شما می‌توانید یک مجوز موقتی رایگان درخواست کنید تا تمام ویژگی‌های API را بدون هیچ واترمارک یا محدودیتی ارزیابی کنید.

خلاصه‌برداری

در این آموزش، شما با اصول تبدیل XML به PDF در C# به همراه نمونه کدها و فایل‌های نمونه آشنا شده‌اید. این امکان را به شما می‌دهد تا داده‌های XML خود را به اسناد PDF جذاب و قابل اشتراک گذاری تبدیل کنید. چه در حال ساخت ابزارهای گزارش‌گیری باشید، چه در حال تولید فاکتورها یا ایجاد مستندات، تبدیل XML به PDF فرآیند تبدیل سند را در برنامه‌های شما تسهیل می‌کند. در صورت داشتن هر گونه سوال، لطفاً با ما در forum تماس بگیرید.

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