XML یک زبان W3C توصیه شده و خود توصیفی است که برای ذخیره و انتقال داده ها طراحی شده است. یک توسعه‌دهنده می‌تواند فرمت XML را به هر فرمت قابل خواندن برای انسان دیگری مانند سند PDF یا MS Word در برنامه .NET تغییر دهد. در این مقاله نحوه تبدیل داده‌های XML به گزارش‌های PDF و MS Word با استفاده از C# از طریق قالب‌های ساده بحث می‌شود.

گزارش XML به PDF در سی شارپ

موضوعات زیر در زیر مورد بحث قرار می گیرد:

گزارش تولید .NET API – XML به PDF و WORD

GroupDocs.Assembly for .NET API برای خودکارسازی تولید گزارش از داده‌های XML با استفاده از الگوی DOCX یا TXT است. علاوه بر این، از JSON، CSV و سایر منابع داده برای تبدیل داده ها به گزارش هایی با فرمت های مختلف فایل پشتیبانی می کند.

می‌توانید نصب‌کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه دات‌نت خود نصب کنید.

PM> Install-Package GroupDocs.Assembly

ایجاد گزارش PDF از داده های XML در C#

3 مرحله ساده شما را به تبدیل داده های XML به گزارش فرمت شده PDF هدایت می کند.

  1. منبع داده XML خود را بارگیری کنید.
  2. قالب را با توجه به داده های XML بارگذاری شده تعریف کنید.
  3. در نهایت، منبع داده و الگوی XML را به روش تولید گزارش ارائه دهید.

داده های XML

داده های نمونه XML زیر برای تبدیل آن به گزارش PDF استفاده می شود. این شامل داده های مدیران و مشتریان مربوطه آنها با جزئیات بیشتر است.

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

قالب

قالب را در قالب TXT یا DOCX با توجه به داده های XML منبع خود تعریف کنید. من از الگوی ذکر شده در زیر استفاده می کنم که با توجه به داده های XML ذکر شده مدیران ایجاد شده است. این باعث می شود که تولید کننده گزارش بر روی مدیران و مشتریان مربوطه آنها تکرار شود. پس از تکمیل قالب، شما تقریبا تمام شده اید. برای تهیه گزارش می توانید از کد زیر استفاده کنید.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

مراحل C# برای ایجاد گزارش PDF از XML

مراحل زیر به شما امکان می دهد تولید گزارش های PDF از داده های XML خود را مطابق با الگوی تعریف شده خود به طور خودکار انجام دهید.

  • فایل داده XML، فایل قالب متنی و فایل های گزارش خروجی PDF را تعریف کنید.
  • XMLDataSoure را با فایل داده XML نمونه سازی کنید.
  • DataSourceInfo را با منبع داده XML تعریف شده ایجاد کنید.
  • برای تولید گزارش PDF، روش AssembleDocument را فراخوانی کنید.

کد زیر مراحل بالا را پیاده سازی می کند و یک PDF از منبع داده XML با استفاده از C# تولید می کند.

// گزارش PDF از داده های XML با استفاده از الگوی TXT در CSharp ایجاد کنید
// فایل های گزارش منبع داده، الگو و خروجی را تعریف کنید.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// منبع داده XML را بارگیری کنید
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// سند را برای تولید PDF جمع آوری کنید
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

ایجاد گزارش MS Word از داده های XML در C#

در همین راستا، می‌توانید گزارش را در قالب MS Word DOC/DOCX با استفاده از همان داده‌های XML ایجاد کنید. هیچ تفاوتی در کد با کدی که در بالا توضیح دادیم وجود نخواهد داشت، به جز اینکه باید نام فایل خروجی را تغییر دهید.

  • فایل داده XML را بارگیری کنید.
  • تعریف قالب در فرمت TXT یا DOCX.
  • فرمت سند گزارش خروجی را به عنوان DOCX تنظیم کنید.
  • فایل داده XML، الگو، و مسیر فایل خروجی را در DocumentAssembler برای تبدیل XML به DOCX ارائه دهید.

کد زیر XML را تبدیل کرده و فایل DOCX را با استفاده از قالب تعریف شده با استفاده از C# تولید می کند.

// گزارش MS Word را از داده های XML با استفاده از الگوی متنی در CSharp ایجاد کنید
// فایل های گزارش منبع داده، الگو و خروجی را تعریف کنید.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// منبع داده XML را بارگیری کنید
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// سند جمع آوری کنید تا گزارش Word ایجاد شود
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

مجوز API رایگان دریافت کنید

برای استفاده از API بدون محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

به طور خلاصه، شما یاد گرفته اید که داده های XML را به فرمت PDF به عنوان گزارش با استفاده از C# با برنامه .NET تبدیل کنید. علاوه بر این، تولید گزارش را در قالب DOC/DOCX از همان XML با استفاده از الگو مورد بحث قرار دادیم. پس از خواندن این سری از پست های تولید گزارش؛ گزارش‌های PDF و MS Word را از JSON، CSV، XML ایجاد کنید، می‌توانید برنامه NET را برای ساخت گزارش خود توسعه دهید.

برای اطلاعات بیشتر درباره GroupDocs.Assembly، گزینه‌ها و نمونه‌ها، از documentation و مخزن GitHub دیدن کنید. برای سوالات بیشتر، از طریق [فروم 16 با ما تماس بگیرید.

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