รูปแบบ XPS (XML Paper Specifications) ได้รับการแนะนำโดย Microsoft ซึ่งใช้เพื่อแสดงเค้าโครงหน้ากระดาษ ใช้แท็ก XML เพื่อแสดงลักษณะของหน้าและองค์ประกอบของเอกสาร ในสถานการณ์ต่างๆ คุณอาจต้องแปลงเอกสาร XPS เป็นรูปแบบเอกสารอื่น ตามนั้น ในบทความนี้ คุณจะได้เรียนรู้เกี่ยวกับการแปลงเอกสาร XPS เป็นรูปแบบภาพแรสเตอร์โดยทางโปรแกรม โดยเฉพาะอย่างยิ่ง บทความจะกล่าวถึงวิธีการแปลง XPS เป็น BMP, JPEG, PNG และ TIFF โดยใช้ Java

XPS เป็น Image Converter API - ดาวน์โหลดฟรี

Aspose.Page for Java ออกแบบมาเพื่อทำงานกับเอกสาร PS, EPS และ XPS จากภายในแอปพลิเคชัน Java ตัวแปลงในตัวของ API ช่วยให้คุณทำการแปลงคุณภาพสูงของ XPS เป็นรูปแบบภาพแรสเตอร์ รวมถึงภาพ PNG, JPEG, BMP และ TIFF คุณสามารถ ดาวน์โหลด JAR ของ API หรือติดตั้งภายในแอปพลิเคชันที่ใช้ Maven ของคุณ

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-page</artifactId>
    <version>20.11</version>
</dependency>

แปลง XPS เป็นภาพแรสเตอร์ใน Java

Aspose.Page for Java มีคลาสแยกต่างหากเพื่อปรับแต่ง XPS เป็นการแปลงภาพแรสเตอร์ ตัวอย่างเช่น คุณสามารถตั้งค่าความละเอียดของภาพที่ส่งออก ระบุหน้าที่คุณต้องการแปลง และอื่นๆ ต่อไปนี้คือรายชื่อคลาสที่คุณสามารถใช้ได้

แปลง XPS เป็น PNG ใน Java

ต่อไปนี้เป็นขั้นตอนในการแปลงเอกสาร XPS เป็นรูปภาพ PNG โดยใช้ Aspose.XPS สำหรับ Java

  • โหลดเอกสาร XPS โดยใช้คลาส XpsDocument
  • สร้างอินสแตนซ์ของคลาส PngSaveOptions เพื่อตั้งค่าตัวเลือกเพิ่มเติม
  • สร้างอินสแตนซ์ของคลาส ImageDevice
  • ใช้ XpsDocument.save(ImageDevice, PngSaveOptions) เพื่อบันทึกภาพ PNG ที่แปลงแล้วลงในวัตถุ ImageDevice
  • ใช้ ImageDevice เพื่อบันทึกภาพเป็นไฟล์ PNG

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลง XPS เป็น PNG โดยใช้ Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-page/Aspose.Page-for-Java
// เส้นทางไปยังไดเร็กทอรีเอกสาร
String dataDir = Utils.getDataDir();
// โหลดเอกสาร XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// เริ่มต้นวัตถุตัวเลือกด้วยพารามิเตอร์ที่จำเป็น
com.aspose.xps.rendering.PngSaveOptions options = new com.aspose.xps.rendering.PngSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// สร้างอุปกรณ์แสดงผลสำหรับรูปแบบ PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// วนซ้ำผ่านพาร์ติชั่นเอกสาร (เอกสารคงที่ในเงื่อนไข XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // วนซ้ำผ่านหน้าพาร์ติชัน
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // เริ่มต้นสตรีมเอาต์พุตรูปภาพ
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoPNG" + "_" + (i + 1) + "_" + (j + 1) + ".png");
        // เขียนภาพ
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

แปลง XPS เป็น JPEG ใน Java

ต่อไปนี้เป็นขั้นตอนในการแปลง XPS เป็น JPEG โดยใช้ Aspose.Page for Java

  • โหลดเอกสาร XPS โดยใช้คลาส XpsDocument
  • ใช้คลาส JpegSaveOptions เพื่อตั้งค่าตัวเลือกเพิ่มเติมสำหรับภาพ JPEG ที่แปลงแล้ว
  • สร้างอินสแตนซ์ของคลาส ImageDevice
  • ใช้ XpsDocument.save(ImageDevice, JpegSaveOptions) เพื่อบันทึกภาพ JPEG ที่แปลงแล้วลงในวัตถุ ImageDevice
  • ใช้ ImageDevice เพื่อบันทึกภาพเป็นไฟล์ JPEG

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลง XPS เป็น JPEG

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-page/Aspose.Page-for-Java
// เส้นทางไปยังไดเร็กทอรีเอกสาร
String dataDir = Utils.getDataDir();
// เริ่มต้นสตรีมอินพุต XPS

// โหลดเอกสาร XPS จากสตรีม
XpsDocument document = new XpsDocument(dataDir + "input.xps");

// เริ่มต้นวัตถุตัวเลือกด้วยพารามิเตอร์ที่จำเป็น
com.aspose.xps.rendering.JpegSaveOptions options = new com.aspose.xps.rendering.JpegSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// สร้างอุปกรณ์แสดงผลสำหรับรูปแบบ PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// วนซ้ำผ่านพาร์ติชั่นเอกสาร (เอกสารคงที่ในเงื่อนไข XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // วนซ้ำผ่านหน้าพาร์ติชัน
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // เริ่มต้นสตรีมเอาต์พุตรูปภาพ
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoJPEG" + "_" + (i + 1) + "_" + (j + 1) + ".jpeg");
        // เขียนภาพ
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

แปลง XPS เป็น BMP ใน Java

คุณสามารถแปลงไฟล์ XPS เป็นภาพ BMP ได้ในลักษณะเดียวกับที่คุณทำกับ PNG และ JPEG ต่อไปนี้เป็นขั้นตอนสำหรับมัน

  • ใช้คลาส XpsDocument เพื่อโหลดเอกสาร XPS
  • สร้างอินสแตนซ์ของคลาส BmpSaveOptions เพื่อตั้งค่าตัวเลือกเพิ่มเติมสำหรับอิมเมจ BMP ที่แปลงแล้ว
  • ใช้เมธอด XpsDocument.save(ImageDevice, BmpSaveOptions) เพื่อบันทึกภาพ BMP ที่แปลงแล้วเป็นวัตถุ ImageDevice
  • ใช้ ImageDevice เพื่อบันทึกภาพเป็นไฟล์ BMP

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลงไฟล์ XPS เป็น BMP

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-page/Aspose.Page-for-Java
// เส้นทางไปยังไดเร็กทอรีเอกสาร
String dataDir = Utils.getDataDir();
// โหลดเอกสาร XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// เริ่มต้นวัตถุตัวเลือกด้วยพารามิเตอร์ที่จำเป็น
com.aspose.xps.rendering.BmpSaveOptions options = new com.aspose.xps.rendering.BmpSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[]{1, 2, 6});

// สร้างอุปกรณ์แสดงผลสำหรับรูปแบบ PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// วนซ้ำผ่านพาร์ติชั่นเอกสาร (เอกสารคงที่ในเงื่อนไข XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // วนซ้ำผ่านหน้าพาร์ติชัน
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // เริ่มต้นสตรีมเอาต์พุตรูปภาพ
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoBMP" + "_" + (i + 1) + "_" + (j + 1) + ".bmp");
        // เขียนภาพ
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

แปลง XPS เป็น TIFF ใน Java

ต่อไปนี้เป็นขั้นตอนในการแปลงเอกสาร XPS เป็นอิมเมจ TIFF

  • ใช้คลาส XpsDocument เพื่อโหลดเอกสาร XPS
  • สร้างอินสแตนซ์ของคลาส TiffSaveOptions เพื่อตั้งค่าตัวเลือกเพิ่มเติมสำหรับอิมเมจ TIFF ที่แปลงแล้ว
  • ใช้เมธอด XpsDocument.save(ImageDevice, TiffSaveOptions) เพื่อบันทึกภาพ TIFF ที่แปลงแล้วเป็นวัตถุ ImageDevice
  • ใช้ ImageDevice เพื่อบันทึกภาพเป็นไฟล์ TIFF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลงเอกสาร XPS เป็นอิมเมจ TIFF ใน Java

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-page/Aspose.Page-for-Java
// เส้นทางไปยังไดเร็กทอรีเอกสาร
String dataDir = Utils.getDataDir();
// โหลดเอกสาร XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// เริ่มต้นวัตถุตัวเลือกด้วยพารามิเตอร์ที่จำเป็น
com.aspose.xps.rendering.TiffSaveOptions options = new com.aspose.xps.rendering.TiffSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// สร้างอุปกรณ์แสดงผลสำหรับรูปแบบ PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// วนซ้ำผ่านพาร์ติชั่นเอกสาร (เอกสารคงที่ในเงื่อนไข XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // วนซ้ำผ่านหน้าพาร์ติชัน
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // เริ่มต้นสตรีมเอาต์พุตรูปภาพ
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoTIFF" + "_" + (i + 1) + "_" + (j + 1) + ".tif");
        // เขียนภาพ
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการแปลงไฟล์ XPS เป็นรูปแบบภาพแรสเตอร์โดยใช้ Java คำแนะนำทีละขั้นตอน การอ้างอิง API และตัวอย่างโค้ดได้แสดงวิธีการแปลงภาพ XPS เป็น PNG, JPEG, TIFF และ BMP คุณสามารถสำรวจคุณสมบัติอื่นๆ ของ Java XPS API ได้โดยใช้ เอกสารประกอบ

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