Định dạng XPS(Thông số kỹ thuật giấy XML) được Microsoft giới thiệu, được sử dụng để thể hiện bố cục trang. Nó sử dụng các thẻ XML để thể hiện sự xuất hiện của các trang và thành phần của tài liệu. Trong các tình huống khác nhau, bạn có thể cần chuyển đổi tài liệu XPS sang các định dạng tài liệu khác. Theo đó, trong bài viết này, bạn sẽ tìm hiểu về việc chuyển đổi tài liệu XPS sang định dạng hình ảnh raster bằng lập trình. Đặc biệt, bài viết sẽ đề cập đến cách chuyển đổi XPS sang BMP, JPEG, PNGTIFF bằng Java.

API chuyển đổi XPS sang hình ảnh - Tải xuống miễn phí

Aspose.Page for Java được thiết kế để hoạt động với các tài liệu PS, EPS và XPS từ bên trong các ứng dụng Java. Trình chuyển đổi tích hợp của API cho phép bạn thực hiện chuyển đổi chất lượng cao của XPS sang định dạng hình ảnh raster bao gồm hình ảnh PNG, JPEG, BMP và TIFF. Bạn có thể tải xuống JAR của API hoặc cài đặt nó trong các ứng dụng dựa trên Maven của mình.

<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>

Chuyển đổi XPS sang ảnh Raster trong Java

Aspose.Page for Java cung cấp các lớp riêng biệt để tùy chỉnh chuyển đổi XPS thành hình ảnh raster. Ví dụ: bạn có thể đặt độ phân giải của hình ảnh đầu ra, chỉ định các trang bạn muốn chuyển đổi, v.v. Sau đây là danh sách các lớp mà bạn có thể sử dụng cho phù hợp.

Chuyển đổi XPS sang PNG trong Java

Sau đây là các bước để chuyển đổi tài liệu XPS sang hình ảnh PNG bằng Aspose.XPS cho Java.

Mẫu mã sau đây cho biết cách chuyển đổi XPS sang PNG bằng Java.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-page/Aspose.Page-for-Java
// Đường dẫn đến thư mục tài liệu.
String dataDir = Utils.getDataDir();
// Tải tài liệu XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Khởi tạo đối tượng tùy chọn với các tham số cần thiết.
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 });

// Tạo thiết bị kết xuất cho định dạng PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Lặp lại qua các phân vùng tài liệu (tài liệu cố định, theo thuật ngữ XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Lặp lại qua các trang phân vùng
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // Khởi tạo luồng đầu ra hình ảnh
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoPNG" + "_" + (i + 1) + "_" + (j + 1) + ".png");
        // Viết hình ảnh
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Chuyển đổi XPS sang JPEG trong Java

Sau đây là các bước để chuyển đổi XPS sang JPEG bằng Aspose.Page for Java.

Mẫu mã sau đây cho biết cách chuyển đổi XPS sang JPEG.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-page/Aspose.Page-for-Java
// Đường dẫn đến thư mục tài liệu.
String dataDir = Utils.getDataDir();
// Khởi tạo luồng đầu vào XPS

// Tải tài liệu XPS từ luồng
XpsDocument document = new XpsDocument(dataDir + "input.xps");

// Khởi tạo đối tượng tùy chọn với các tham số cần thiết.
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 });

// Tạo thiết bị kết xuất cho định dạng PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Lặp lại qua các phân vùng tài liệu (tài liệu cố định, theo thuật ngữ XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Lặp lại qua các trang phân vùng
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // Khởi tạo luồng đầu ra hình ảnh
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoJPEG" + "_" + (i + 1) + "_" + (j + 1) + ".jpeg");
        // Viết hình ảnh
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Chuyển đổi XPS sang BMP trong Java

Bạn có thể chuyển đổi các tệp XPS thành hình ảnh BMP giống như cách bạn đã thực hiện đối với PNG và JPEG. Sau đây là các bước cho nó.

Mẫu mã sau đây cho biết cách chuyển đổi tệp XPS thành BMP.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-page/Aspose.Page-for-Java
// Đường dẫn đến thư mục tài liệu.
String dataDir = Utils.getDataDir();
// Tải tài liệu XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Khởi tạo đối tượng tùy chọn với các tham số cần thiết.
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});

// Tạo thiết bị kết xuất cho định dạng PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Lặp lại qua các phân vùng tài liệu (tài liệu cố định, theo thuật ngữ XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Lặp lại qua các trang phân vùng
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // Khởi tạo luồng đầu ra hình ảnh
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoBMP" + "_" + (i + 1) + "_" + (j + 1) + ".bmp");
        // Viết hình ảnh
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Chuyển đổi XPS sang TIFF trong Java

Sau đây là các bước để chuyển đổi tài liệu XPS sang hình ảnh TIFF.

Mẫu mã sau đây cho biết cách chuyển đổi tài liệu XPS sang hình ảnh TIFF trong Java.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-page/Aspose.Page-for-Java
// Đường dẫn đến thư mục tài liệu.
String dataDir = Utils.getDataDir();
// Tải tài liệu XPS
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Khởi tạo đối tượng tùy chọn với các tham số cần thiết.
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 });

// Tạo thiết bị kết xuất cho định dạng PDF
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// Lặp lại qua các phân vùng tài liệu (tài liệu cố định, theo thuật ngữ XPS)
for (int i = 0; i < device.getResult().length; i++) {
    // Lặp lại qua các trang phân vùng
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // Khởi tạo luồng đầu ra hình ảnh
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoTIFF" + "_" + (i + 1) + "_" + (j + 1) + ".tif");
        // Viết hình ảnh
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

Sự kết luận

Trong bài viết này, bạn đã học cách chuyển đổi các tệp XPS sang định dạng hình ảnh raster bằng Java. Hướng dẫn từng bước, tham chiếu API và mẫu mã đã chỉ ra cách chuyển đổi hình ảnh XPS sang PNG, JPEG, TIFF và BMP. Bạn có thể khám phá các tính năng khác của API Java XPS bằng cách sử dụng tài liệu.

Xem thêm