فایل‌های XPS و OXPS به دلیل استقلال رزولوشن، اغلب برای چاپ استفاده می‌شوند. با این حال، گاهی اوقات نیاز داریم که XPS را به PDF یا OXPS را به PDF تبدیل کنیم. Aspose.Page for .NET API به شما امکان می دهد این تبدیل ها را با وفاداری بالا و رندر سریع انجام دهید. اجازه دهید موارد استفاده زیر را بررسی کنیم:

تبدیل XPS به PDF به صورت برنامه نویسی با استفاده از سی شارپ

تبدیل XPS به PDF با Aspose.Page برای NET API ساده است. ما روش های زیر را برای انجام تبدیل فایل XPS یاد خواهیم گرفت:

i) تبدیل صفحات خاص XPS به PDF در سی شارپ

برای تبدیل صفحات انتخابی سند XPS به PDF، لطفاً مراحل زیر را دنبال کنید:

  1. جریان ورودی XPS را راه اندازی کنید
  2. سند XPS را از جریان بارگیری کنید
  3. شیء PdfSaveOptions را مقداردهی کنید
  4. شماره صفحات را برای تبدیل مشخص کنید
  5. سند را به صورت فایل PDF ذخیره کنید

قطعه کد زیر این مراحل را دنبال می کند و نحوه تبدیل XPS به PDF با استفاده از C# را نشان می دهد:

// جریان خروجی PDF را راه اندازی کنید
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// جریان ورودی XPS را راه اندازی کنید
//با استفاده از (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps"، System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
    // سند XPS را از جریان بارگیری کنید
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // یا سند XPS را مستقیماً از فایل بارگیری کنید. در این صورت نیازی به xpsStream نیست.
    // سند XpsDocument = XpsDocument جدید (inputFileName, new XpsLoadOptions());

    // شیء گزینه ها را با پارامترهای لازم مقداردهی کنید.
    Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
        PageNumbers = new int[] {1, 3}
    };
    // ایجاد دستگاه رندر برای فرمت PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

این قطعه کد از یک سند XPS حاوی چندین صفحه به عنوان فایل ورودی استفاده می کند. در حالی که تنها صفحه شماره 1 و 3 همانطور که در قطعه کد مشخص شده است به PDF تبدیل می شوند. اسکرین شات زیر 2 صفحه ارائه شده به سند PDF را نمایش می دهد:

XPS به PDF

ii) تبدیل تمام صفحات XPS به PDF در سی شارپ

می توانید کل فایل XPS را به PDF تبدیل کنید. مراحل زیر را دنبال کنید و تمام صفحات فایل XPS به یک فایل PDF تبدیل می شود:

  1. فایل ورودی XPS را بارگیری کنید
  2. شیء گزینه ها را با پارامترهای لازم مقداردهی کنید
  3. یک نمونه از PdfDevice برای رندر ایجاد کنید
  4. XPS را به سند PDF صادر کنید

قطعه کد زیر بر اساس تمام این مراحل است که نحوه تبدیل فایل XPS به PDF با استفاده از زبان C# را نشان می دهد:

// جریان خروجی PDF را راه اندازی کنید
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// جریان ورودی XPS را راه اندازی کنید
//با استفاده از (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps"، System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
// سند XPS را از جریان بارگیری کنید
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// یا سند XPS را مستقیماً از فایل بارگیری کنید. در این صورت نیازی به xpsStream نیست.
// سند XpsDocument = XpsDocument جدید (inputFileName, new XpsLoadOptions());

// شیء گزینه ها را با پارامترهای لازم مقداردهی کنید.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
    JpegQualityLevel = 100,
    ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
    TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// ایجاد دستگاه رندر برای فرمت PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

تبدیل OXPS به PDF با استفاده از C#

فرمت OXPS یک فرم به روز و پیشرفته از فرمت فایل XPS است. با این حال، چنین فایل هایی توسط برخی از سیستم عامل های قدیمی پشتیبانی نمی شوند. Aspose.Page for .NET API می تواند فایل های OXPS را نیز تبدیل کند. اجازه دهید به یادگیری سناریوهای استفاده زیر ادامه دهیم:

i) برخی از صفحات OXPS را به PDF در سی شارپ تبدیل کنید

یک فایل OXPS ممکن است حاوی صفحات زیادی باشد و هر تعداد صفحه را می توان با انجام مراحل زیر به PDF تبدیل کرد:

  1. فایل OXPS را بارگیری کنید
  2. شیء PdfSaveOptions را اعلام کنید
  3. شماره (های) صفحه ای را که می خواهید تبدیل کنید تنظیم کنید
  4. OXPS را به PDF رندر کنید

قطعه کد زیر نحوه تبدیل OXPS به PDF را با استفاده از C# نشان می دهد. همانطور که در قطعه کد ذکر شده است، صفحه اول فایل OXPS را به PDF تبدیل می کند.

// جریان خروجی PDF را راه اندازی کنید
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// جریان ورودی OXPS را راه اندازی کنید
//با استفاده از (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps"، System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
    // سند OXPS را از جریان بارگیری کنید
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // یا سند XPS را مستقیماً از فایل بارگیری کنید. در این صورت نیازی به xpsStream نیست.
    // سند XpsDocument = XpsDocument جدید (inputFileName, new XpsLoadOptions());

    // شیء گزینه ها را با پارامترهای لازم مقداردهی کنید.
    Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
        PageNumbers = new int[] {1}
    };
    // ایجاد دستگاه رندر برای فرمت PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

ii) تبدیل تمام صفحات OXPS به PDF در سی شارپ

تبدیل تمام صفحات OXPS ساده و مرتبط با مثالی است که در بالا در نظر گرفتیم. اجازه دهید مراحل زیر را دنبال کنیم و تمام صفحات فایل OXPS را به یک سند PDF تبدیل کنیم:

  1. جریان ورودی OXPS را راه اندازی کنید
  2. فایل OXPS را از جریان بارگیری کنید
  3. یک شی از کلاس PdfSaveOptions را نمونه سازی کنید
  4. OXPS را به فایل PDF صادر کنید

قطعه کد زیر این مراحل را یکی یکی دنبال می کند و OXPS را با استفاده از C# به PDF تبدیل می کند:

// جریان خروجی PDF را راه اندازی کنید
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// جریان ورودی OXPS را راه اندازی کنید
//با استفاده از (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps"، System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
// سند OXPS را از جریان بارگیری کنید
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// یا سند OXPS را مستقیماً از فایل بارگیری کنید. در این صورت نیازی به xpsStream نیست.
// سند XpsDocument = XpsDocument جدید (inputFileName, new XpsLoadOptions());

// شیء گزینه ها را با پارامترهای لازم مقداردهی کنید.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
    JpegQualityLevel = 100,
    ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
    TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// ایجاد دستگاه رندر برای فرمت PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

نتیجه

در این مقاله یاد گرفتید که چگونه XPS را به PDF و OXPS را به PDF با استفاده از سی شارپ تبدیل کنید. شما با مثال‌ها و اسکرین شات‌های کد سی شارپ در مورد تبدیل فرمت فایل با کیفیت بالا، کارآمد و سریع یاد گرفته‌اید. می‌توانید Aspose.Page for .NET API را با کمک مستندات API و مرجع API بیشتر کاوش کنید. علاوه بر این، در صورت تمایل هر گونه سوالی را در [تالارهای پشتیبانی رایگان] بپرسید.

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