ไฟล์ XPS และ OXPS มักใช้สำหรับการพิมพ์เนื่องจากความละเอียดไม่ขึ้นกับความละเอียด อย่างไรก็ตาม บางครั้งเราต้องแปลง XPS เป็น PDF หรือ OXPS เป็น PDF Aspose.Page for .NET API ช่วยให้คุณทำการแปลงเหล่านี้ด้วยความเที่ยงตรงสูงและการแสดงผลที่รวดเร็ว ให้เราสำรวจกรณีการใช้งานต่อไปนี้:

แปลง XPS เป็น PDF โดยทางโปรแกรมโดยใช้ C#

การแปลง XPS เป็น PDF ทำได้ง่ายด้วย Aspose.Page for .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 = XpsDocument ใหม่ (inputFileName, 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 = XpsDocument ใหม่ (inputFileName, 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 ใน 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 = XpsDocument ใหม่ (inputFileName, 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 = XpsDocument ใหม่ (inputFileName, 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# และภาพหน้าจอเกี่ยวกับการแปลงรูปแบบไฟล์ที่มีความเที่ยงตรงสูง มีประสิทธิภาพ และรวดเร็ว คุณสามารถสำรวจ Aspose.Page for .NET API เพิ่มเติมด้วยความช่วยเหลือจาก เอกสาร API และ การอ้างอิง API นอกจากนี้ โปรดอย่าลังเลที่จะถามคำถามใดๆ ได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย