将 SVG 转换为 XPS – C# 示例

SVG 文档转换为其他格式是 Aspose.SVG for .NET API 的主要功能之一。您可以通过任何方式(在线或以编程方式)将 SVG 转换为 XPS 和其他流行格式。在本文中,您将找到有关如何使用 Converter 类的 ConvertSVG() 方法、[SVGDocument] 的 RenderTo() 方法将 SVG 转换为 XPS 的信息(3) 类并应用 XpsSaveOptionsXpsRenderingOptions

在线 SVG 转换器

您可以检查 Aspose.SVG API 功能并实时转换 SVG。请从本地文件系统加载 SVG,选择输出格式并运行示例。在示例中,保存选项是默认设置的。您将立即收到作为单独文件的结果。

                
            

使用 ConvertSVG() 方法将 SVG 转换为 XPS

Converter 类的静态方法可以通过一行代码将 SVG 转换为 XPS。这是最简单的转换方法。使用 ConvertSVG() 方法将文件转换为另一种格式是一系列操作,其中文档加载和保存:

以下代码片段可用于将 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() 方法获取 documentsaveOptions、输出文件路径并执行转换操作。

在上面的示例中,我们添加了用于设置 Color 的 BackgroundColor 属性,该属性将填充每个页面的背景。

您可以从 GitHub 下载完整的示例和数据文件。您可以从 如何运行示例 部分了解如何从 GitHub 下载并运行示例。

保存选项

Aspose.SVG 允许使用默认或自定义保存选项将 SVG 转换为 XPS。 XpsSaveOptions的使用使您能够自定义渲染过程;您可以指定页面大小、边距、背景颜色、文件权限、Css 等。

PropertyDescription
BackgroundColorThis property sets the color that will fill the background of every page. By default, this property is Transparent.
CssGets a CssOptions object which is used for configuration of CSS properties processing.
HorizontalResolutionSets the horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
VerticalResolutionSets the vertical resolution for output images in pixels per inch. The default value is 300 dpi.
PageSetupThis property gets a page setup object and uses it for configuration output page-set.

注意:使用 XpsSaveOptions 类实现的选项继承自 XpsRenderingOptions 类。

使用 RenderTo() 方法将 SVG 转换为 XPS

考虑使用 RenderTo() 方法将 SVG 转换为 XPS 的场景:

以下代码片段可用于将 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 文件。只需上传、转换文件即可在几秒钟内获得结果!

文本“横幅 SVG 到 XPS 转换器”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.