PDF控件Spire.PDF for .NET【转换】演示:将 SVG 转换为 PDF

news2024/11/29 12:38:01

SVG 是一种矢量图形文件格式,用于创建可缩放且不损失质量的图像。然而,PDF由于支持高质量打印、加密、数字签名等功能,更适合共享和打印。将SVG转换为PDF可以保证图像在不同设备和环境下都有良好的显示效果,并更好地保护知识产权。在本教程中,我们将向您展示如何将SVG 转换为 PDF,以及如何使用Spire.PDF for .NET在 C# 和 VB.NET 中将SVG 图像添加到 PDF。

Spire.Doc 是一款专门对 Word 文档进行操作的 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。 

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式(qun:767755948)

Spire.PDF for.net下载   Spire.PDF for java下载

安装适用于 .NET 的 Spire.PDF

首先,您需要将 Spire.PDF for .NET 包中包含的 DLL 文件添加为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过NuGet安装。

PM> Install-Package Spire.PDF
在 C# 和 VB.NET 中将 SVG 转换为 PDF

Spire.PDF for .NET 提供了PdfDocument.SaveToFile(String, FileFormat)方法,允许用户将 SVG 文件另存为 PDF。详细步骤如下。

  • 创建一个PdfDocument对象。
  • 使用PdfDocument.LoadFromFile()方法加载示例 SVG 文件。
  • 使用PdfDocument.SaveToFile(String, FileFormat)方法将 SVG 文件转换为 PDF 。

[C#]

using Spire.Pdf;

namespace SVGtoPDF
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();

//Load a sample SVG file
doc.LoadFromSvg("Sample.svg");

//Save result document
doc.SaveToFile("Result.pdf", FileFormat.PDF);
doc.Dispose();
}
}
}

[VB.NET]

Imports Spire.Pdf

Namespace SVGtoPDF
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Create a PdfDocument object
Dim doc As PdfDocument = New PdfDocument()

'Load a sample SVG file
doc.LoadFromSvg("Sample.svg")

'Save result document
doc.SaveToFile("Result.pdf", FileFormat.PDF)
doc.Dispose();

End Sub
End Class
End Namespace

C#/VB.NET: Convert SVG to PDF

在 C# 和 VB.NET 中将 SVG 图像添加到 PDF

除了直接将SVG转换为PDF外,它还支持将SVG图像文件添加到PDF中的指定位置。请检查以下步骤:

  • 创建PdfDocument对象并使用 PdfDocument 加载 SVG 文件LoadFromSvg()方法。
  • 使用 PdfDocument 根据 SVG 文件的内容创建模板 Pages[].CreateTemplate()方法。
  • 获取页面上模板的宽度和高度。
  • 创建另一个PdfDocument对象并使用PdfDocument.LoadFromFile()方法加载 PDF 文件。
  • 使用PdfDocument.Pages[].Canvas.DrawTemplate()方法在指定位置绘制自定义尺寸的模板。
  • 使用PdfDocument.SaveToFile(String, FileFormat)方法保存为 PDF 文件。

[C#]

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace AddSVGImagetoPDF
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument doc1 = new PdfDocument();

//Load an SVG file
doc1.LoadFromSvg("C:\\Users\\Administrator\\Desktop\\sample.svg");

//Create a template based on the content of the SVG file
PdfTemplate template = doc1.Pages[0].CreateTemplate();

//Get the width and height of the template
float width = template.Width;
float height = template.Height;

//Create another PdfDocument object
PdfDocument doc2 = new PdfDocument();

//Load a PDF file
doc2.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");

//Draw the template with a custom size at a specified location
doc2.Pages[0].Canvas.DrawTemplate(template, new PointF(0, 0), new SizeF(width * 0.8f, height * 0.8f));

//Save to PDF file
doc2.SaveToFile("AddSvgToPdf.pdf", FileFormat.PDF);
doc2.Dispose();
}
}
}

[VB.NET]

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing

Namespace AddSVGImagetoPDF
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Create a PdfDocument object
Dim doc1 As PdfDocument = New PdfDocument()

'Load an SVG file
doc1.LoadFromSvg("C:\Users\Administrator\Desktop\sample.svg")

'Create a template based on the content of the SVG file
Dim template As PdfTemplate = doc1.Pages(0).CreateTemplate()

'Get the width and height of the template
Dim width As Single = template.Width
Dim height As Single = template.Height

'Create another PdfDocument object
Dim doc2 As PdfDocument = New PdfDocument()

'Load a PDF file
doc2.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")

'Draw the template with a custom size at a specified location
doc2.Pages(0).Canvas.DrawTemplate(template, New PointF(0, 0), New SizeF(width * 0.8F, height * 0.8F))

'Save to PDF file
doc2.SaveToFile("AddSvgToPdf.pdf", FileFormat.PDF)
doc2.Dispose()
End Sub
End Class
End Namespace

C#/VB.NET:将 SVG 转换为 PDF

以上便是如何在C#/VB.NET:将SVG 转换为 PDF,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1286195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu启动kafka报错Could not create the Java Virtual Machine.

网上有两种方式,但是需要具体看自己的错误信息,我的错误信息如下: 这里大概是说要写入日志无权限,所以执行的时候,前面加一下sudo 执行成功。

LeetCode - 110. 平衡二叉树(C语言,二叉树,配图,简单)

根据题意,我们只需要比较当前节点的左右子树高度差是否小于1,利用分治法,只需要满足: 1. 根节点的左右子树的高度差小于1。 2. 根节点左右子树的满足高度差小于1,在往下走,判断左子树根节点的左右子树是否满…

MySQL之binlog文件过多处理方法

背景 MySQL由于大量读写,导致binlog文件特别的多。从而导致服务器disk空间不足问题。 先备份binlog文件 tar -zcvf mysql.tar.gz mysql/data/mysql-bin.00* 修改MySQL配置 binlog过期时间 show variables like expire_logs_days; 这里 0 表示 永不过期 如果为 n…

设计必备网站,每天必看,无需翻墙。

设计师每天需要浏览各类设计互交网站,找素材、找灵感、看教程等等,下面就推荐几个非常好用的设计网站,我本人用了好几年,对广大设计师们一定有帮助,感觉收藏起来吧! 1、免费设计素材——菜鸟图库 https://…

16个Cisco日常巡检命令集合

1.show running-config:查看所有配置 2.show version:查看设备版本信息 主要包括: IOS 版本; ROM bootstrap 程序; IOS 位置; CPU 和内存信息; 接口信息; NVRAM 大小&#xf…

Kubernetes(K8s)Service详解-07

Service详解 Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供…

SL6015B降压恒流60V耐压1.5A高辉调光LED芯片 电路简单 元器件少

SL6015B是一款专为LED照明应用设计的降压恒流芯片,具有60V的耐压能力,最大输出电流可达1.5A。它采用高辉调光方式,通过改变输入电压或电流来调节LED的亮度。此外,SL6015B还具有电路简单和元器件数量少的特点,使其成为一…

C语言之程序的组成和元素格式

目录 关键字 运算符 标识符 姓名和标识符 分隔符 常量和字符串常量 自由的书写格式 书写限制 连接相邻的字符串常量 缩进 本节我们来学习程序的各组成元素(关键字、运算符等)和格式相关的内容。 关键字 在C语言中,相if和else这样的标识…

c++ 三目运算符在类中的使用

简介 在类比较方面&#xff0c;三目运算符可以用于重载比较运算符。 代码示例1 #include <iostream> #include <cstring>class Person { public:Person(const char* name, int age) : m_age(age) {m_name new char[strlen(name) 1];strcpy(m_name, name);}~Pe…

大模型上下文学习(ICL)训练和推理两个阶段31篇论文

大模型都火了这么久了&#xff0c;想必大家对LLM的上下文学习&#xff08;In-Context Learning&#xff09;能力都不陌生吧&#xff1f; 以防有的同学不太了解&#xff0c;今天我就来简单讲讲。 上下文学习&#xff08;ICL&#xff09;是一种依赖于大型语言模型的学习任务方式…

Python 数据清洗库详解

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 数据清洗是数据处理过程中至关重要的一部分。Python拥有许多强大的库&#xff0c;用于数据清洗和预处理&#xff0c;使得数据分析人员能够有效处理、转换和清洗数据。本文将介绍几个最常用的Python库&#xff0c…

火焰图的基本认识与绘制方法

火焰图的认识与使用-目录 火焰图的基本认识火焰图有以下特征(on-cpu)火焰图能做什么火焰图类型On-CPU 火焰图和Off-CPU火焰图的使用场景火焰图分析技巧 如何绘制火焰图生成火焰图的流程1.生成火焰图的三个步骤 安装火焰图必备工具1.安装火焰图FlameGraph脚本2.安装火焰图数据采…

第2章 知识抽取:概述、方法

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

创建数据库并使用索引查询学员考试成绩

5.1索引 索引提供指针以指向存储在表中指定列的数据值&#xff0c;然后根据指定的次序排列这些指针&#xff0c;再跟随 指针到达包含该值的行。 5.1.1什么是索引 数据库中的索引与书籍中的目录类似。在一本书中&#xff0c;无须阅读整本书&#xff0c;利用目录就可以快速查 找…

Leetcod面试经典150题刷题记录——数组 / 字符串篇

数组 / 字符串篇 1. 合并两个有序数组Python3排序法双指针法 2. 移除元素Python3 3. 删除有序数组中的重复元素Python3 7. 买卖股票的最佳时机Python3 8. 买卖股票的最佳时机ⅡPython3贪心法动态规划法 11. H 指数Python3排序法计数排序法二分查找 有个技巧&#xff0c;若想熟悉…

Vue项目图片预览v-viewer插件使用,图片预览,图片查看;antdesign+vue2+v-viewer实现图片查看器并可删除图片

Vue项目图片预览v-viewer插件使用 1. 安装 v-viewer 你可以使用 npm 或者 yarn 来安装 v-viewer&#xff1a; npm install v-viewer 或者 yarn add v-viewer 2. 导入和配置 v-viewer 在你的 Vue 项目中&#xff0c;你需要在入口文件&#xff08;通常是 main.js&#xff09…

通信标准化协会,信通院及量子信息网络产业联盟调研玻色量子,共绘实用化量子未来!

8月14日&#xff0c;中国通信标准化协会&#xff0c;信通院标准所及量子信息网络产业联盟等单位领导走访调研北京玻色量子科技有限公司&#xff08;以下简称“玻色量子”&#xff09;&#xff0c;参观了玻色量子公司及自建的十万颗粒洁净度的光量子信息技术实验室&#x1f517;…

自己开发组件更新到npm网站上 通过npm install 安装 保姆级别教程

文章目的 在项目开发中&#xff0c;经常通过npm install安装使用各种各样的npn包。本文记录如何自己实现的一个npm包 1. 环境准备 开发环境安装好,没有准备好环境 需要先安装哦 2. 创建Vue项目 初始化Vue项目&#xff1a;vue create xwdm-test 选择手动选择功能 Manually selec…

mac shortcut keys cheat sheet【mac 快捷键清单】

文章目录 剪切、拷贝、粘贴和其他常用快捷键访达和系统快捷键 Mac 键盘快捷键 Command&#xff08;或 Cmd&#xff09;⌘ Shift ⇧ Option&#xff08;或 Alt&#xff09;⌥ Control&#xff08;或 Ctrl&#xff09;⌃ Caps Lock ⇪ Fn 剪切、拷贝、粘贴和其他常用快捷…

分享106个图片JS特效,总有一款适合您

分享106个图片JS特效&#xff0c;总有一款适合您 106个图片JS特效下载链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。知识付费甚欢喜&#xff0c…