在 C# 中将 SVG 转换为 PDF

您要将 SVG 图像转换为 PDF 文档吗?如果是这样,那么您来对地方了。本文将向您展示如何通过几个简单的步骤在 C# 中将 SVG 转换为 PDF。

SVG(可缩放矢量图形)是一种开放标准的文件类型,无论分辨率如何都可以使用。它是一种基于 XML 的格式,使用矢量图形并支持有限的动画。 SVG 文件只是 XML 文件,因此任何文本编辑器都可以编辑它们。大多数现代浏览器都支持 SVG 文件并且能够呈现它们的标记。在某些情况下,我们可能需要将 SVG 图像导出为 PDF 文档。

PDF 是使用最广泛的文档格式。它保持原始格式不变,这就是它如此受欢迎的原因。我们可以通过编程轻松地将 SVG 文档转换为 PDF 格式。让我们开始吧!

本文将涵盖以下主题:

  1. 将 SVG 转换为 PDF 的 C# API
  2. 将 SVG 转换为 PDF
  3. 将 SVG 渲染为 PDF

将 SVG 转换为 PDF 的 C# API

为了将 SVG 转换为 PDF,我们将使用 Aspose.SVG for .NET API。 API 提供了一种简单的方法来加载、解析、渲染、创建 SVG 文件并将其转换为 流行格式,而无需任何软件依赖性。

API 提供了 SVGDocument 类,它表示 SVG 层次结构的根并包含全部内容。 PdfSaveOptions 类允许指定 PDF 保存选项。我们有 Converter.ConvertSVG(SVGDocument, PdfSaveOptions, string) 方法将 SVG 源转换为 PDF。 PdfRenderingOptions 类表示 PdfDevice 的呈现选项。 PdfDevice 类允许呈现为 PDF 文档。

下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.SVG

使用 C# 将 SVG 转换为 PDF

我们可以按照以下步骤轻松地将 SVG 图像文件转换为 PDF:

  1. 首先,使用 SVGDocument 类加载 SVG。
  2. 接下来,创建 PdfSaveOptions 类的实例。
  3. 之后,指定 PDF 保存选项,如 BackgroundColor 等。
  4. 最后,调用 Converter.ConvertSVG() 方法。它以 SVGDocument、PdfSaveOptions 和输出 PDF 文件路径作为参数。

以下代码示例显示了如何在 C# 中将 SVG 转换为 PDF。

// 此代码示例演示如何将 SVG 转换为 PDF
// 从文件加载 SVG 文档
var document = new SVGDocument("C:\\Files\\Fill-Circle.svg");

// 初始化 PdfSaveOptions 类的实例
var saveOptions = new PdfSaveOptions();
saveOptions.BackgroundColor = System.Drawing.Color.DarkBlue;

// 将 SVG 转换为 PDF
Converter.ConvertSVG(document, saveOptions, "C:\\Files\\Circles_out.pdf");
使用 CSharp 将 SVG 转换为 PDF

使用 C# 将 SVG 转换为 PDF。

在 C# 中将 SVG 渲染为 PDF

或者,我们可以按照以下步骤将 SVG 渲染为 PDF:

  1. 首先,使用 SVGDocument 类加载 SVG。
  2. 接下来,创建 PdfRenderingOptions 类的实例。
  3. 然后,指定 PDF 保存选项,例如 PageSetup、JpegQuality 等。
  4. 之后,初始化 PdfDevice 类的一个实例。它以 PdfRenderingOptions 和输出 PDF 文件路径作为参数。
  5. 最后,调用 RenderTo() 方法。它以 PdfDevice 作为参数。

以下代码示例展示了如何在 C# 中将 SVG 呈现为 PDF。

// 此代码示例演示如何将 SVG 呈现为 PDF
// 从文件加载 SVG 文档
var document = new SVGDocument("C:\\Files\\Fill-Circle.svg");

// 初始化 PdfRenderingOptions 类的实例 
// 设置自定义 PageSetup 和 JpegQuality 属性
var pdfRenderingOptions = new PdfRenderingOptions();
pdfRenderingOptions.PageSetup.AnyPage = new Page(new Aspose.Svg.Drawing.Size(500, 500), new Margin(10, 10, 10, 10));
pdfRenderingOptions.JpegQuality = 10;

// 初始化 PdfDevice 类的实例
using (IDevice device = new PdfDevice(pdfRenderingOptions, "C:\\Files\\Render_out.pdf"))
{
    // 将 SVG 渲染为 PDF 并将文档发送到渲染设备
    document.RenderTo(device);
}

获得免费的临时许可证

您可以获得免费的临时许可证 试用 Aspose.SVG for .NET,没有评估限制。

结论

在本文中,我们学习了如何:

  • 加载现有的 SVG 图像;
  • 定义 PDF 保存选项;
  • 指定 PDF 呈现选项;
  • 在 C# 中将 SVG 保存为 PDF。

除了在 C# 中将 SVG 转换为 PDF 之外,您还可以使用 文档 了解有关 Aspose.SVG for .NET 的更多信息,并探索 API 支持的不同功能。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。

也可以看看