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

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

ไฟล์ XPS จะกำหนดลักษณะที่ปรากฏและองค์ประกอบภาพ นอกเหนือจากกฎการเรนเดอร์และการพิมพ์ในมาร์กอัป XML เนื่องจากเอกสาร XPS ได้รับความนิยมเนื่องจากความสามารถเฉพาะตัวในการจัดการคำอธิบายประกอบหรือลายเซ็น ผู้คนอาจมีไฟล์เหล่านี้แต่ต้องการแปลงเป็น PDF เราจะพูดถึงสถานการณ์เฉพาะนี้ด้านล่างในบทความ และจะได้เรียนรู้วิธีแปลง XPS เป็น PDF โดยทางโปรแกรมใน C#

บทความนี้จะกล่าวถึงประเด็นต่อไปนี้:

C# .NET API เพื่อแปลง XPS เป็น PDF

เราจะใช้ Conholdate.Total for .NET เพื่อแปลง XPS เป็น PDF โดยทางโปรแกรม คุณสามารถ ดาวน์โหลด DLL หรือติดตั้ง API การแปลง XPS นี้โดยใช้ NuGet

Install-Package Conholdate.Total 

วิธีแปลง XPS เป็น PDF โดยใช้ C#

คุณสามารถแปลงไฟล์ XPS เป็น PDF ได้โดยทำตามขั้นตอนด้านล่าง:

  • เริ่มต้นออบเจ็กต์ของคลาส Stream สำหรับทั้งเอกสาร XPS และ PDF
  • สร้างอินสแตนซ์ของคลาส XpsDocument โดยใช้สตรีม XPS (สร้างขึ้นในขั้นตอนก่อนหน้า) และวัตถุของคลาส XpsLoadOptions เป็นพารามิเตอร์
  • เริ่มต้นวัตถุของคลาส PdfSaveOptions โดยการระบุ TextCompression, ImageCompression, JpegQualityLevel และตัวเลือกอื่น ๆ
  • สร้างวัตถุของคลาส PdfDevice จากสตรีมเอาต์พุตตามที่สร้างขึ้นในขั้นตอนที่ 1
  • บันทึกเอกสาร PDF โดยใช้ XpsDocument.Save(Device device, SaveOptions options) และส่งผ่านออบเจ็กต์ PdfDevice และ PdfSaveOptions ตามที่สร้างไว้ในขั้นตอนก่อนหน้า

รหัสต่อไปนี้แสดงวิธีการแปลง XPS เป็น PDF โดยใช้ C#

// เริ่มต้นสตรีมเอาท์พุต PDF
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
// เตรียมใช้งานสตรีมอินพุต XPS
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read))
      {
       // โหลดเอกสาร XPS จากสตรีม
       XpsDocument document = new XpsDocument(xpsStream, new 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, 2, 6 }
         };

         // สร้างอุปกรณ์เรนเดอร์สำหรับรูปแบบ PDF
         Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

          document.Save(device, options);
        }

รับใบอนุญาตฟรี

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อทดสอบ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ เราได้กล่าวถึงขั้นตอนการแปลง XPS เป็น PDF แล้ว สุดท้ายนี้ เราหวังว่าคุณจะได้เรียนรู้วิธีแปลง XPS เป็น PDF ใน C# โดยใช้ API การแปลง XPS คุณสามารถไปที่ เอกสาร เพื่อสำรวจคุณสมบัติอื่นๆ ของไลบรารีการแปลง XPS

ถามคำถาม

คุณสามารถแจ้งให้เราทราบคำถามหรือข้อสงสัยของคุณได้ใน ฟอรั่ม ของเรา

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