将 SVG 转换为 PDF – C# 示例
将 SVG 文档转换为其他格式是 Aspose.SVG for .NET API 的主要功能之一。需要转换的原因有多种:以熟悉、方便的格式工作或利用不同的格式来完成特定任务。 PDF 是所有操作系统都支持的文件格式,用于呈现图像、文档和书籍。 PDF 格式的文件可以轻松查看、打印和在线共享。
本文提供了有关受支持的 SVG 到 PDF 转换方案列表以及如何执行这些方案的信息。您可以通过任何方式(在线或以编程方式)将 SVG 转换为 PDF 和其他流行格式。
在线 SVG 转换器
您可以检查 Aspose.SVG API 功能并实时转换 SVG。请从本地文件系统加载 SVG,选择输出格式并运行示例。在示例中,保存选项是默认设置的。您将立即收到作为单独文件的结果。
如果您想以编程方式将 SVG 转换为 PDF,请参阅以下 C# 代码示例。
使用 ConvertSVG() 方法将 SVG 转换为 PDF
Converter 类的静态方法可以通过一行代码将 SVG 转换为 PDF。这是最简单的转换方法。使用 ConvertSVG() 方法将文件转换为另一种格式是一系列操作,其中文档加载和保存:
- 使用 SVGDocument() 构造函数之一加载 SVG 文档 ( lineto.svg)。
- 创建 PdfSaveOptions 类的实例。
- 使用 ConvertSVG() 方法将 SVG 转换并保存为 PDF 文件。
以下代码片段可用于将 SVG 文件转换为 PDF 格式:
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, "lineto.svg")))
10 {
11 // Initialize an instance of the PdfSaveOptions class
12 var saveOptions = new PdfSaveOptions();
13 saveOptions.BackgroundColor = Color.Gray;
14
15 // Convert SVG to PDF
16 Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "lineto_out.pdf"));
17 }
PdfSaveOptions() 构造函数初始化传递给 ConvertSVG() 方法的 PdfSaveOptions 类的实例。
ConvertSVG() 方法获取 document
、saveOptions
、输出文件路径并执行转换操作。在上面的示例中,我们添加了用于设置 Color 的 BackgroundColor 属性,该属性将填充每个页面的背景。
保存选项
您可以使用默认或自定义保存选项将 SVG 转换为 PDF。 PdfSaveOptions 或 PdfRenderingOptions 使用使您能够自定义渲染过程;您可以指定页面大小、边距、背景颜色、文件权限、Css 等。
Property | Description |
---|---|
JpegQuality | Specifies the quality of JPEG compression for images. The default value is 95. |
Css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
DocumentInfo | This property contains information about the output PDF document. |
BackgroundColor | This property sets the color that will fill the background of every page. By default, this property is Transparent. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
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. |
Encryption | This property gets or sets encryption details. If it is not set, then no encryption will be performed. |
注意:使用 PdfSaveOptions 类实现的选项继承自 PdfRenderingOptions 类。
使用 RenderTo() 方法将 SVG 转换为 PDF
考虑使用 RenderTo() 方法将 SVG 转换为 PDF 的场景:
- 使用 SVGDocument() 构造函数 ( light.svg) 初始化文档。
- 初始化 PdfRenderingOptions 类的实例并指定文档的属性。
- 创建 PdfDevice 类的新实例。
- 通过 RenderTo() 方法转换文档。
以下代码片段可用于将 SVG 文件转换为 PDF 格式:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Drawing;
4using Aspose.Svg.Rendering;
5using Aspose.Svg.Rendering.Pdf;
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 PdfRenderingOptions class and set custom PageSetup and JpegQuality properties
12 var pdfRenderingOptions = new PdfRenderingOptions();
13 pdfRenderingOptions.PageSetup.AnyPage = new Page(new Drawing.Size(500, 500), new Margin(10, 10, 10, 10));
14 pdfRenderingOptions.JpegQuality = 10;
15
16 // Initialize an instance of the PdfDevice class
17 using (IDevice device = new PdfDevice(pdfRenderingOptions, Path.Combine(OutputDir, "light_out.pdf")))
18 {
19 // Render SVG to PDF and send the document to the rendering device
20 document.RenderTo(device);
21 }
22 }
PdfRenderingOptions() 构造函数初始化
PdfRenderingOptions 类的新对象,该对象作为参数传递给
PdfDevice(options, file
) 构造函数。最后一个通过渲染选项和输出文件名初始化
PdfDevice 类的新实例。
RenderTo(device
) 方法将 SVG 转换为 PDF 并将当前文档发送到输出渲染设备。
JpegQuality 指定图像的 JPEG 压缩质量。默认值为 95。在上面的示例中,使用的 JpegQuality 值为 10。该图说明了两个文件
light.svg 和
lineto.svg 将 SVG 转换为 PDF: JpegQuality
值为默认值; b) JpegQuality
值为 10。
您可以使用我们的免费在线 SVG 到 PDF 转换器 将 SVG 转换为 PDF,该转换器质量高、简单且快速。只需上传、转换文件即可在几秒钟内获得结果!