Đị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, PNG và TIFF bằng Java.
- API chuyển đổi Java XPS sang hình ảnh
- Chuyển đổi XPS sang PNG
- Chuyển đổi XPS sang JPEG
- Chuyển đổi XPS sang BMP
- Chuyển đổi XPS sang TIFF
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.
- Tùy chọn PngSave for XPS to PNG
- JpegSaveTùy chọn for XPS to JPEG
- BmpSaveTùy chọn for XPS to BMP
- TiffSaveTùy chọn for XPS to TIFF
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.
- Tải tài liệu XPS bằng lớp XpsDocument.
- Tạo một thể hiện của lớp PngSaveOptions để đặt các tùy chọn bổ sung.
- Tạo một thể hiện của lớp ImageDevice.
- Sử dụng XpsDocument.save(ImageDevice, PngSaveOptions) để lưu hình ảnh PNG đã chuyển đổi vào đối tượng ImageDevice.
- Sử dụng ImageDevice để lưu hình ảnh dưới dạng tệp PNG.
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.
- Tải tài liệu XPS bằng lớp XpsDocument.
- Sử dụng lớp JpegSaveOptions để đặt các tùy chọn bổ sung cho ảnh JPEG được chuyển đổi.
- Tạo một thể hiện của lớp ImageDevice.
- Sử dụng XpsDocument.save(ImageDevice, JpegSaveOptions) để lưu ảnh JPEG đã chuyển đổi vào đối tượng ImageDevice.
- Sử dụng ImageDevice để lưu ảnh dưới dạng tệp JPEG.
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ó.
- Sử dụng lớp XpsDocument để tải tài liệu XPS.
- Tạo một thể hiện của lớp BmpSaveOptions để đặt các tùy chọn bổ sung cho hình ảnh BMP đã chuyển đổi.
- Sử dụng phương pháp XpsDocument.save(ImageDevice, BmpSaveOptions) để lưu hình ảnh BMP đã chuyển đổi thành đối tượng ImageDevice.
- Sử dụng ImageDevice để lưu hình ảnh dưới dạng tệp BMP.
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.
- Sử dụng lớp XpsDocument để tải tài liệu XPS.
- Tạo một thể hiện của lớp TiffSaveOptions để đặt các tùy chọn bổ sung cho hình ảnh TIFF đã chuyển đổi.
- Sử dụng phương thức XpsDocument.save(ImageDevice, TiffSaveOptions) để lưu hình ảnh TIFF đã chuyển đổi thành đối tượng ImageDevice.
- Sử dụng ImageDevice để lưu hình ảnh dưới dạng tệp 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.