چگونه XPS را به JPG در C# تبدیل کنیم

چگونه XPS را به JPG در C# تبدیل کنیم

فرمت سند XPS به شما این امکان را می‌دهد که به‌راحتی اسناد دیجیتال را به اشتراک بگذارید، ایجاد کنید، چاپ کنید و ذخیره کنید، اما ممکن است لازم باشد نرم‌افزار پشتیبان را نصب کنید. اگر شما یک برنامه‌نویس .NET هستید و ممکن است بخواهید یک فایل XPS را به فرمت JPG/JPEG به‌صورت برنامه‌نویسی صادر کنید، این مقاله توضیح می‌دهد که چگونه XPS را به JPG در C# تبدیل کنید.

نکات زیر در این مقاله پوشش داده خواهد شد:

C# .NET API برای تبدیل XPS به JPG

در این مقاله، ما از Conholdate.Total for .NET برای تبدیل XPS به JPG استفاده خواهیم کرد. این کتابخانه به شما این امکان را می‌دهد که اسناد XPS موجود و همچنین جدید را ایجاد، ویرایش و ذخیره کنید. بنابراین، شما می‌توانید download DLL را دانلود کرده یا این API تبدیل XPS را با استفاده از NuGet نصب کنید.

Install-Package Conholdate.Total 

How to convert XPS to JPG/JPEG programmatically in C#

API تبدیل XPS به شما امکان می‌دهد فایل‌های XPS خود را به JPG تبدیل کنید.

مراحل زیر برای تبدیل یک فایل XPS به تصویر JPG است:

  • شیء Stream را برای اسناد XPS مقداردهی اولیه کنید.
  • یک نمونه از کلاس XpsDocument را با استفاده از جریان XPS (ایجاد شده در مرحله قبل) و شیء کلاس XpsLoadOptions به عنوان پارامترها ایجاد کنید.
  • شیء کلاس JpegSaveOptions را با پارامترهای لازم مقداردهی کنید.
  • یک نمونه از کلاس ImageDevice ایجاد کنید.
  • JPG را در شی ImageDevice با فراخوانی XpsDocument.Save(Device device, SaveOptions options) ذخیره کنید.
  • از ImageDevice برای ذخیره JPG روی دیسک استفاده کنید (همانطور که در نمونه کد زیر نشان داده شده است).

نمونه کد زیر نشان می‌دهد که چگونه می‌توان تبدیل XPS به JPG را با استفاده از C# انجام داد:

string inputFileName = "input.xps";
//Outut file 
string outputFileName = "XPStoImage_out.jpg";
// جریان ورودی XPS را راه‌اندازی کنید
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
                // بارگذاری سند XPS از جریان
                XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
               

                // شیء گزینه ها را با پارامترهای لازم راه اندازی کنید.
                JpegSaveOptions options = new JpegSaveOptions()
                {
                    SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
                    Resolution = 300,
                    PageNumbers = new int[] { 1, 2, 6 }
                };

                // Create rendering device for image
                ImageDevice device = new ImageDevice();

                document.Save(device, options);

                // از طریق بخش‌های مستند (اسناد ثابت، در اصطلاح XPS) تکرار کنید
               for (int i = 0; i < device.Result.Length; i++)
                    // از میان صفحات پارتیشن تکرار کنید
                   for (int j = 0; j < device.Result[i].Length; j++)
                    {
                        // جریان خروجی تصویر را inicialize کنید
                        using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) +
                            Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
                            Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
                            // Write image
                            imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
                    }
            
}

یک لایسنس رایگان بگیرید

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

نتیجه گیری

برای خاتمه این مقاله، امیدواریم یاد گرفته باشید که چگونه XPS را به JPG در C# با استفاده از یک API تبدیل XPS تبدیل کنید. شما می‌توانید به documentation مراجعه کنید تا سایر ویژگی‌های کتابخانه تبدیل XPS را کاوش کنید.

Ask a question

شما می‌توانید سوالات یا درخواست‌های خود را در forum به ما بگویید.

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