将 SVG 转换为 XPS C#

可扩展矢量图形 (SVG) 是一种广泛使用的矢量图像格式,但有时需要将 SVG 文件转换为 XML 纸张规范 (XPS) 格式。 XPS 是一种固定布局文档格式,类似于 PDF,主要用于共享和打印高质量文档。 本博客文章将指导您了解如何在 C# 中将 SVG 转换为 XPS 的过程。

SVG to XPS 转换器 - C# API 安装

您可以通过从 New Releases 页面安装 Conholdate.Total for .NET 或运行以下 NuGet 安装命令,将矢量图像转换为 XPS 格式:

Install-Package Conholdate.Total 

为什么将 SVG 转换为 XPS?

您可能需要将 SVG 文件转换为 XPS 文档的几个原因:

  • 高质量打印 – XPS 格式确保高保真文档打印,具有固定布局,是专业出版的绝佳选择。

  • 保留布局 - 与栅格图像不同,XPS 保留了 SVG 文件的确切布局、字体和矢量属性。

  • 与Windows应用程序的兼容性 – XPS 是微软应用程序原生支持的,便于集成到企业级文档工作流程中。

  • 归档和文档共享 – XPS 提供了一种标准化的方法来以文档格式存储矢量图形,确保在不同设备之间的一致性。

在 C# 中将 SVG 转换为 XPS

要将 SVG 文件转换为 XPS,我们将使用 Conholdate.Total for .NET,这提供了将 SVG 内容渲染为 XPS 格式所需的功能。以下是该过程的逐步说明。

  • 使用 SVGDocument 类加载 SVG 文件。
  • 指定渲染选项以配置XPS输出。
  • 使用 XPS 渲染设备处理 SVG 内容。
  • 将 XPS 文件呈现并保存到指定位置。

下面的代码片段演示了如何在 C# 中将 SVG 转换为 XPS:


// 加载输入 SVG 文件
using (var document = new Aspose.Svg.SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    // 指定 XPSRenderingOptions
    var options = new Aspose.Svg.Rendering.Xps.XpsRenderingOptions()
    {
        // 设置 PDF 页面大小、边距等。
        PageSetup =
        {
            AnyPage = new Aspose.Svg.Drawing.Page(new Aspose.Svg.Drawing.Size(500, 500))
        }
    };
    using (var device = new Aspose.Svg.Rendering.Xps.XpsDevice(options, dataDir + "smiley_out.xps"))
    {
        // 将 SVG 渲染为 XPS
        document.RenderTo(device);
    }
}

免费评估许可证

您可以请求一个 免费临时许可证 以测试 API 的不同功能,而无需任何评估限制。

总结

在 C# 中将 SVG 转换为 XPS 采用这种方法非常简单。本指南演示了如何加载 SVG 文件、配置渲染设置,并使用高效和可自定义的方法将其导出为 XPS。由于能够保留矢量质量并确保高保真输出,XPS 是文档存储和打印的绝佳选择。若有任何疑问,请通过 forum 联系我们。

常见问题解答

我可以一次将多个 SVG 文件转换为 XPS 吗?

是的,您可以在循环中处理多个 SVG 文件,并使用相同的方法将它们转换为 XPS。

我可以修改 XPS 输出设置吗?

是的,您可以使用 XpsRenderingOptions 类配置页面大小、边距、分辨率和其他渲染选项。

另请参阅