将 SVG 转换为 XPS – C# 示例
将 SVG 文档转换为其他格式是 Aspose.SVG for .NET API 的主要功能之一。您可以通过任何方式(在线或以编程方式)将 SVG 转换为 XPS 和其他流行格式。在本文中,您将找到有关如何使用 Converter 类的 ConvertSVG() 方法、[SVGDocument] 的 RenderTo() 方法将 SVG 转换为 XPS 的信息(3) 类并应用 XpsSaveOptions 或 XpsRenderingOptions。
在线 SVG 转换器
您可以检查 Aspose.SVG API 功能并实时转换 SVG。请从本地文件系统加载 SVG,选择输出格式并运行示例。在示例中,保存选项是默认设置的。您将立即收到作为单独文件的结果。
使用 ConvertSVG() 方法将 SVG 转换为 XPS
Converter 类的静态方法可以通过一行代码将 SVG 转换为 XPS。这是最简单的转换方法。使用 ConvertSVG() 方法将文件转换为另一种格式是一系列操作,其中文档加载和保存:
- 使用 SVGDocument() 构造函数之一 ( owl.svg) 加载 SVG 文档。
- 创建 XpsSaveOptions 类的实例。
- 使用 ConvertSVG() 方法将 SVG 保存为 XPS 文件。
以下代码片段可用于将 SVG 文件转换为 XPS 格式:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Converters;
4using System.Drawing;
5using Aspose.Svg.Saving;
6...
7
8 // Initialize an SVG document from a file
9 using (var document = new SVGDocument(Path.Combine(DataDir, "owl.svg")))
10 {
11 // Initialize an instance of the XpsSaveOptions class
12 var saveOptions = new XpsSaveOptions();
13 saveOptions.BackgroundColor = Color.Gray;
14
15 // Convert SVG to XPS
16 Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "owl_out.xps"));
17 }
XpsSaveOptions() 构造函数初始化传递给 ConvertSVG() 方法的 XpsSaveOptions 类的实例。
ConvertSVG() 方法获取 document
、saveOptions
、输出文件路径并执行转换操作。
在上面的示例中,我们添加了用于设置 Color 的 BackgroundColor 属性,该属性将填充每个页面的背景。
保存选项
Aspose.SVG 允许使用默认或自定义保存选项将 SVG 转换为 XPS。 XpsSaveOptions的使用使您能够自定义渲染过程;您可以指定页面大小、边距、背景颜色、文件权限、Css 等。
Property | Description |
---|---|
BackgroundColor | This property sets the color that will fill the background of every page. By default, this property is Transparent. |
Css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
HorizontalResolution | Sets the horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets the vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
注意:使用 XpsSaveOptions 类实现的选项继承自 XpsRenderingOptions 类。
使用 RenderTo() 方法将 SVG 转换为 XPS
考虑使用 RenderTo() 方法将 SVG 转换为 XPS 的场景:
- 使用 SVGDocument() 构造函数 ( light.svg) 初始化文档。
- 初始化 XpsRenderingOptions 类的实例并指定文档的属性。
- 创建 XpsDevice 类的新实例。
- 通过 RenderTo() 方法转换文档。
以下代码片段可用于将 SVG 转换为 XPS:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Drawing;
4using Aspose.Svg.Rendering;
5using Aspose.Svg.Rendering.Xps;
6...
7
8 // Initialize an SVG document from a file
9 using (var document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
10 {
11 // Initialize an instance of the XpsRenderingOptions class and set a custom PageSetup properties
12 var xpsRenderingOptions = new XpsRenderingOptions();
13 xpsRenderingOptions.PageSetup.AnyPage = new Page(new Drawing.Size(500, 500), new Margin(10, 10, 10, 10));
14
15 // Initialize an instance of XpsDevice class
16 using (IDevice device = new XpsDevice(xpsRenderingOptions, Path.Combine(OutputDir, "light_out.xps")))
17 {
18 // Render SVG to XPS, send the document to the rendering device
19 document.RenderTo(device);
20 }
21 }
XpsRenderingOptions() 构造函数创建一个新对象,该对象作为参数传递给
XpsDevice(options, file
) 构造函数。最后一个通过渲染选项和输出文件名初始化
XpsDevice 类的新实例。
RenderTo(device
) 方法转换当前文档并将其发送到输出渲染设备。
您可以尝试我们的免费在线 SVG 到 XPS 转换器,它可以将 SVG 文件高质量、简单、快速地转换为 XPS 文件。只需上传、转换文件即可在几秒钟内获得结果!