C# تبدیل XPS به PDF | تبدیل OXPS به PDF در سی شارپ

XPS (مشخصات کاغذ XML باز) و OXPS (OpenXPS) اسناد صفحه ثابت را نشان می‌دهند. اسناد XPS شبیه اسناد PDF هستند که هم چینش و هم قالب بندی سند اصلی را حفظ می کنند. با این حال، اسناد XPS به اندازه اسناد PDF به طور گسترده پشتیبانی نمی‌شوند. اسناد PDF (قالب سند قابل حمل) به طور گسترده در انواع سیستم عامل ها و دستگاه ها پشتیبانی می شوند. در این مقاله نحوه تبدیل XPS یا OXPS به PDF در سی شارپ را به شما نشان خواهیم داد.

این مقاله موضوعات زیر را پوشش می دهد:

  1. C# API برای تبدیل XPS به PDF
  2. تبدیل XPS به PDF با استفاده از C#
  3. تبدیل صفحات خاص XPS به PDF
  4. تبدیل OXPS به PDF در سی شارپ
  5. تبدیل صفحات خاص OXPS به PDF
  6. [تبدیل فایل XPS به PDF آنلاین9
  7. XPS به PDF - منابع آموزشی رایگان

C# API برای تبدیل XPS به PDF

ما از Aspose.Page for .NET API برای تبدیل یک سند XPS یا OXPS به فرمت PDF استفاده خواهیم کرد. این یک API قدرتمند است که توسعه دهندگان را قادر می سازد اسناد XPS و EPS/PS را ایجاد، ویرایش، دستکاری و تبدیل کنند. Aspose.Page for .NET یک API قابل اعتماد و مستقل است که استفاده از آن آسان است و در برنامه های NET شما ادغام می شود.

لطفاً DLL]13 API را دانلود کنید یا با استفاده از دستور NuGet زیر آن را نصب کنید:

PM> Install-Package Aspose.Page

تبدیل 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);
}

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

همچنین می‌توانیم صفحات انتخابی یک سند XPS را با دنبال کردن مراحل زیر به فرمت PDF تبدیل کنیم:

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

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

// جریان خروجی 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 تبدیل می شوند. اسکرین شات زیر دو صفحه را نشان می دهد که به صورت یک سند PDF ارائه شده اند:

XPS به PDF

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

فرمت OXPS یک فرم به روز و پیشرفته از فرمت فایل XPS است. با این حال، چنین فایل هایی توسط برخی از سیستم عامل های قدیمی پشتیبانی نمی شوند. با دنبال کردن مراحل زیر می توانیم به راحتی یک سند OXPS را به فرمت PDF تبدیل کنیم:

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

نمونه کد زیر نحوه تبدیل 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());
// یا سند 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);
}

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

به طور مشابه، ما همچنین می توانیم صفحات خاصی را از یک سند OXPS به فرمت PDF با دنبال کردن مراحل زیر تبدیل کنیم:

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

قطعه کد زیر نحوه تبدیل صفحات خاص یک OXPS به PDF در سی شارپ را نشان می دهد. همانطور که در قطعه کد ذکر شده است، صفحه اول فایل 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);
}

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

برای آزمایش کتابخانه بدون هیچ گونه محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.

تبدیل فایل XPS به PDF آنلاین

همچنین می‌توانید با استفاده از این برنامه مبدل رایگان XPS به PDF بدون نصب نرم‌افزار یا افزونه، یک فایل XPS را به PDF به صورت آنلاین تبدیل کنید.

تبدیل سند XPS به PDF - منابع آموزشی

علاوه بر تبدیل اسناد XPS یا OXPS به فرمت PDF، در مورد کتابخانه بیشتر بیاموزید و با استفاده از منابع زیر ویژگی‌های مختلف دیگر را کشف کنید:

نتیجه

در این مقاله یاد گرفتیم که چگونه XPS را به صورت برنامه نویسی به PDF و OXPS را به PDF با استفاده از سی شارپ تبدیل کنیم. ما همچنین نحوه صادرات صفحات خاص یک سند XPS یا OXPS را به فرمت PDF دیده ایم. می‌توانید API را بیشتر کاوش کنید و گردش کار مدیریت اسناد خود را بهینه کنید. در صورت وجود هرگونه ابهامی، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان17 تماس بگیرید.

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