Các tệp XPS xác định hình thức và bố cục trực quan bên cạnh các quy tắc hiển thị và in trong đánh dấu XML. Vì tài liệu XPS rất phổ biến vì khả năng quản lý chú thích hoặc chữ ký độc đáo nên mọi người có thể có những tệp này nhưng muốn chuyển đổi chúng thành PDF. Chúng ta sẽ thảo luận về tình huống cụ thể này bên dưới trong bài viết và sẽ tìm hiểu cách chuyển đổi XPS sang PDF theo chương trình trong C#.
Các điểm sau đây sẽ được đề cập trong bài viết này:
API C# .NET để chuyển đổi XPS sang PDF
Chúng tôi sẽ sử dụng Conholdate.Total for .NET để chuyển đổi XPS sang PDF theo chương trình. Bạn có thể tải xuống DLL hoặc cài đặt API chuyển đổi XPS này bằng NuGet.
Install-Package Conholdate.Total
Cách chuyển đổi XPS sang PDF bằng C#
Bạn có thể chuyển đổi tệp XPS sang PDF bằng cách thực hiện theo các bước bên dưới:
- Khởi tạo các đối tượng của lớp Stream cho cả tài liệu XPS và PDF.
- Tạo một phiên bản của lớp XpsDocument bằng cách sử dụng luồng XPS (được tạo ở bước trước) và đối tượng của lớp XpsLoadOptions làm tham số.
- Khởi tạo đối tượng của lớp PdfSaveOptions bằng cách chỉ định TextCompression, ImageCompression, JpegQualityLevel và các tùy chọn khác.
- Tạo một đối tượng của lớp PdfDevice từ luồng đầu ra như đã tạo ở bước 1.
- Lưu tài liệu PDF bằng cách sử dụng XpsDocument.Save(Thiết bị thiết bị, tùy chọn SaveOptions) và chuyển nó vào các đối tượng PdfDevice và PdfSaveOptions như đã tạo ở các bước trước.
Đoạn mã sau cho biết cách chuyển đổi XPS sang PDF bằng C#.
// Khởi tạo luồng đầu ra PDF
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
// Khởi tạo luồng đầu vào XPS
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
// Tải tài liệu XPS dưới dạng luồng
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// hoặc tải tài liệu XPS trực tiếp từ tệp. Khi đó không cần xpsStream.
// Tài liệu XpsDocument = new XpsDocument(inputFileName, new XpsLoadOptions());
// Khởi tạo đối tượng tùy chọn với các tham số cần thiết.
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 }
};
// Tạo thiết bị kết xuất cho định dạng PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Nhận giấy phép miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để kiểm tra API mà không bị giới hạn về đánh giá.
Phần kết luận
Trong bài viết này, chúng tôi đã đề cập đến quy trình chuyển đổi XPS sang PDF. Cuối cùng, chúng tôi hy vọng bạn đã học được cách chuyển đổi XPS sang PDF trong C# bằng API chuyển đổi XPS. Bạn có thể truy cập tài liệu để khám phá các tính năng khác của thư viện chuyển đổi XPS.
Đặt một câu hỏi
Bạn có thể cho chúng tôi biết câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.