קבצי XPS ו-OXPS משמשים לעתים קרובות להדפסה בגלל עצמאות הרזולוציה שלהם. עם זאת, לפעמים אנחנו צריכים להמיר XPS ל-PDF או OXPS ל-PDF. API של Aspose.Page for .NET מאפשר לך לבצע המרות אלה בנאמנות גבוהה ובעיבוד מהיר. הבה נבחן את מקרי השימוש הבאים:

המר XPS ל-PDF באופן פרוגרמטי באמצעות C#

המרת XPS ל-PDF פשוטה עם Aspose.Page עבור .NET API. נלמד את הגישות הבאות לביצוע המרת קבצי XPS:

i) המר דפים ספציפיים של XPS ל-PDF ב-C#

להמרת דפים נבחרים של מסמך 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 document = new 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 ב-C#

אתה יכול להמיר קובץ 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 document = new 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 עבור .NET API מסוגל להמיר גם קובצי OXPS. הבה נמשיך ללמוד את תרחישי השימוש הבאים:

i) המר כמה דפים של OXPS ל-PDF ב-C#

קובץ 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 document = new 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 ב-C#

המרת כל הדפים של OXPS היא פשוטה וקשורה לדוגמא שחשבנו לעיל. תן לנו לבצע את השלבים שלהלן ולהמיר את כל הדפים של קובץ OXPS למסמך PDF בודד:

  1. אתחול זרם קלט OXPS
  2. טען את קובץ OXPS מהזרם
  3. הצג אובייקט במחלקה PdfSaveOptions
  4. ייצוא OXPS לקובץ PDF

קטע הקוד שלהלן מבצע את השלבים הבאים בזה אחר זה וממיר OXPS ל-PDF באמצעות C#:

// אתחול זרם פלט 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 document = new 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 באופן תכנותי באמצעות C#. למדת בעזרת קוד C# דוגמאות וצילומי מסך על המרת פורמט קבצים בנאמנות גבוהה, יעילה ומהירה. אתה יכול להמשיך ולחקור את ה-API של Aspose.Page for .NET בעזרת תיעוד API ו-API references. יתר על כן, אל תהסס לשאול כל שאלה בפורומי תמיכה בחינם.

ראה גם