XPS OXPS 到 PNG JPG 圖像 C#

XPS 文件格式經常用於文件處理應用程序。您可以在基於 .NET 框架的應用程序中使用 C# 或 VB.NET 以編程方式將 XPS 或 OXPS 轉換為 JPGPNG 圖像。讓我們通過以下場景來了解有關 XPS 轉換的更多信息:

XPS、OXPS 到 JPG 或 PNG 圖像轉換器 API – 安裝

您可以通過幾個簡單的 API 調用輕鬆地將 XPS 或 OXPS 文件轉換為 JPG 或 PNG 圖像。 Aspose.Page for .NET API 包括與 XPS、OXPS 和其他幾種支持的文件格式 一起工作的不同功能。您可以從 下載 部分輕鬆下載 ZIP 文件,或者您可以使用以下命令通過 NuGet 包管理器安裝它:

Install-Package Aspose.Page -Version 20.10.0

配置 API 後,您可以在 .NET 應用程序中高效地使用 XPS 或 OXPS 文件。

使用 C# 或 VB.NET 將 XPS、OXPS 轉換為 JPG 圖像

JPG 文件因其在所有系統環境中的支持而聞名。您可以使用 C# 或 VB.NET 以編程方式將 XPS 或 OXPS 文件轉換為 JPG 圖像。您應該按照以下步驟將 XPS 或 OXPS 圖像轉換為 JPG 圖像:

  1. 加載輸入 XPS 或 OXPS 文件
  2. 初始化 JpegSaveOptions 對象
  3. 指定 SmoothingModeResolutionPageNumbers 進行渲染
  4. 保存輸出 JPG 圖像

下面的代碼展示瞭如何使用 C# 語言將 XPS 或 OXPS 轉換為 JPG 圖像:

// 輸入文件
string inputFileName = dataDir + "input.xps";
//輸出文件 
string outputFileName = dataDir + "XPStoImage_out.jpeg";
// 初始化 XPS 輸入流
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
    // 從流中加載 XPS 文檔
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
    // 或直接從文件加載 XPS 文檔。那麼就不需要 xpsStream 了。
    // XpsDocument 文檔 = new XpsDocument(inputFileName, new XpsLoadOptions());

    // 使用必要的參數初始化選項對象。
    JpegSaveOptions options = new JpegSaveOptions()
    {
        SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
        Resolution = 300
    };

    // 為JPG格式創建渲染器
    ImageDevice device = new ImageDevice();

    document.Save(device, options);

    // 遍歷文檔分區(固定文檔,在 XPS 術語中)
   for (int i = 0; i < device.Result.Length; i++)
        // 遍歷分區頁
       for (int j = 0; j < device.Result[i].Length; j++)
        {
            // 初始化圖像輸出流
            using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) +
                Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
                Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
                // 寫入圖像
                imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
        }
}

使用 C# 或 VB.NET 將 XPS、OXPS 轉換為 PNG 圖像

您可能需要使用 C# 或帶有 Aspose.Page for .NET API 的 VB.NET 將 XPS 或 OXPS 文件轉換為 PNG。您需要按照以下步驟將 XPS 轉換為 PNG:

  1. 加載輸入 XPS 或 OXPS 文件
  2. 初始化 PngSaveOptions 對象
  3. 設置圖像 ResolutionPageNumbers 進行渲染
  4. 保存輸出 PNG 圖像

下面的代碼片段顯示瞭如何使用 C# 以編程方式將 XPS 或 OXPS 文件轉換為 PNG 圖像:

// 輸入文件
string inputFileName = dataDir + "input.xps";
//輸出文件 
string outputFileName = dataDir + "XPStoImage_out.png";
// 初始化 XPS 輸入流
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
    // 從流中加載 XPS 文檔
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
    // 或直接從文件加載 XPS 文檔。那麼就不需要 xpsStream 了。
    // XpsDocument 文檔 = new XpsDocument(inputFileName, new XpsLoadOptions());

    // 使用必要的參數初始化選項對象。
    PngSaveOptions options = new PngSaveOptions()
    {
        SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
        Resolution = 300
    };

    // 為PNG格式創建渲染設備
    ImageDevice device = new ImageDevice();

    document.Save(device, options);

    // 遍歷文檔分區(固定文檔,在 XPS 術語中)
   for (int i = 0; i < device.Result.Length; i++)
        // 遍歷分區頁
       for (int j = 0; j < device.Result[i].Length; j++)
        {
            // 初始化圖像輸出流
            using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) +
                Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
                Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
                // 寫入圖像
                imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
        }
}

結論

在本文中,我們學習瞭如何使用 C# 或 VB.NET 以編程方式將 XPS 或 OXPS 文件轉換為 JPG 或 PNG 圖像。同樣,Aspose.Page for .NET 支持其他幾種文件格式 API。您可以參考 產品文檔API 參考資料 來了解更多關於 API 提供的功能。此外,您可以隨時通過 免費支持論壇 與我們聯繫。隨時分享您的反饋或疑問!

也可以看看