
ไฟล์ 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 โปรดทำตามขั้นตอนด้านล่าง:
- เริ่มต้นสตรีมอินพุต XPS
- โหลดเอกสาร XPS จากสตรีม
- เริ่มต้นวัตถุ PdfSaveOptions
- ระบุหมายเลขหน้าสำหรับการแปลง
- บันทึกเอกสารเป็นไฟล์ 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:

ii) แปลงทุกหน้าของ XPS เป็น PDF ใน C#
คุณสามารถแปลงไฟล์ XPS ทั้งหมดเป็น PDF ทำตามขั้นตอนด้านล่างและทุกหน้าของไฟล์ XPS จะถูกแปลงเป็นไฟล์ PDF:
- โหลดไฟล์ XPS อินพุต
- เริ่มต้นวัตถุตัวเลือกด้วยพารามิเตอร์ที่จำเป็น
- สร้างอินสแตนซ์ของ PdfDevice สำหรับการเรนเดอร์
- ส่งออกเอกสาร 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 กี่หน้าก็ได้โดยทำตามขั้นตอนด้านล่าง:
- โหลดไฟล์ OXPS
- ประกาศวัตถุ PdfSaveOptions
- กำหนดหมายเลขหน้าที่คุณต้องการแปลง
- เรนเดอร์ 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 เดียว:
- เริ่มต้นสตรีมอินพุต OXPS
- โหลดไฟล์ OXPS จากสตรีม
- สร้างอินสแตนซ์วัตถุของคลาส PdfSaveOptions
- ส่งออก 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 นอกจากนี้ โปรดอย่าลังเลที่จะถามคำถามใดๆ ได้ที่ ฟอรัมสนับสนุนฟรี