以下内容介绍在C# 程序中如何将SVG图片添加到PDF文档、以及如何将SVG图片转换为PDF文档。

一、环境准备

下载PDF类库工具,Spire.PDF for .NET hotfix 6.5.6及以上版本(下载时,注意版本信息)。下载后,解压文件,将Bin文件夹下的Spire.Pdf.dll文件在VS中的“解决方案资源管理器”进行“添加引用”。另外,也可以通过Nuget下载。

dll引用效果如下:

用于测试的SVG图片,如下图:

二、代码示例

1. 添加SVGPDF文档

C#

using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics; namespace InsertSVGImage_PDF
{
class Program
{
static void Main(string[] args)
{
//加载SVG图片
PdfDocument file1 = new PdfDocument();
file1.LoadFromSvg("Image.svg"); //创建一个PDF文档,添加一页
PdfDocument pdf = new PdfDocument();
pdf.AppendPage(); //根据SVG图片创建模板,并将模板绘制到PDF
PdfTemplate template = file1.Pages[].CreateTemplate();
template.Draw(pdf.Pages[].Canvas, new PointF()); //保存PDF文档
pdf.SaveToFile("AddSVGtoPDF.pdf", FileFormat.PDF);
System.Diagnostics.Process.Start("AddSVGtoPDF.pdf");
}
}
}

VB.NET

Imports System.Drawing
Imports Spire.Pdf
Imports Spire.Pdf.Graphics Namespace InsertSVGImage_PDF Class Program Private Shared Sub Main(ByVal args() As String)
'加载SVG图片
Dim file1 As PdfDocument = New PdfDocument
file1.LoadFromSvg("Image.svg")
'创建一个PDF文档,添加一页
Dim pdf As PdfDocument = New PdfDocument
pdf.AppendPage
'根据SVG图片创建模板,并将模板绘制到PDF
Dim template As PdfTemplate = file1.Pages().CreateTemplate
template.Draw(pdf.Pages().Canvas, New PointF)
'保存PDF文档
pdf.SaveToFile("AddSVGtoPDF.pdf", FileFormat.PDF)
System.Diagnostics.Process.Start("AddSVGtoPDF.pdf")
End Sub
End Class
End Namespace

SVG图片添加效果:

2. SVG图片转换成PDF文档

C#

using Spire.Pdf;

namespace SVGtoPDF
{
class Program
{
static void Main(string[] args)
{
//加载SVG图片
PdfDocument doc = new PdfDocument();
doc.LoadFromSvg("Image.svg"); //调用方法SaveToFile()保存为PDF格式
doc.SaveToFile("ConvertSVGtoPDF.pdf", FileFormat.PDF);
System.Diagnostics.Process.Start("ConvertSVGtoPDF.pdf");
}
}
}

VB.NET

Imports Spire.Pdf

Namespace SVGtoPDF

    Class Program

        Private Shared Sub Main(ByVal args() As String)
'加载SVG图片
Dim doc As PdfDocument = New PdfDocument
doc.LoadFromSvg("Image.svg")
'调用方法SaveToFile()保存为PDF格式
doc.SaveToFile("ConvertSVGtoPDF.pdf", FileFormat.PDF)
System.Diagnostics.Process.Start("ConvertSVGtoPDF.pdf")
End Sub
End Class
End Namespace

SVG转PDF效果:

<完>

C#/VB.NET 将SVG图片添加到PDF、转换为PDF的更多相关文章

  1. C#/VB.NET对EXCEL图片添加超链接

    在日常工作中,在编辑文档时,为了方便自己或者Boss能够实时查看到需要的网页或者文档是,需要对在Excel中输入的相关文字进行超链接,那么对于一些在Excel中插入的图片我们该怎么实现超链接呢,下面给 ...

  2. Adobe Edge Animate –解决图形边缘精确检测问题-通过jquery加载svg图片

    Adobe Edge Animate –解决图形边缘精确检测问题-通过jquery加载svg图片 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 在edge ...

  3. php图片添加文字水印方法汇总

    方法一: <?php header("content-type:text/html;charset=utf-8"); //指定图片路径 $src = "img/a. ...

  4. 公司--下载svg图片

    加载本地svg图片: SVGParserRenderer norDrawable = OtherPageConfigsManager.getInstance().getSVGParserRendere ...

  5. UWP应用载入SVG图片的兼容性方案

    原文 UWP应用载入SVG图片的兼容性方案 新版本<纸书科学计算器>的更新点之一,就是优化了表达式的显示方式.在旧版本中,表达式里的符号是用png图片显示的,当用户放大看的时候会发现一些锯 ...

  6. 动态svg图片简单制作

    一.简介 #topics #no-box-shadow-img { box-shadow: none } 博主头像 svg图片格式不同于其它图片格式,svg图片本质上是一个xml文件,它内部是标记语言 ...

  7. Python3.7将普通图片(png)转换为SVG图片格式并且让你的网站Logo(图标)从此”动”起来

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_148 在之前的几篇文章中,介绍了业界中比较火爆的图片技术SVG(Scalable Vector Graphics),比如Iconf ...

  8. HTML中图片添加

    图片添加后保存的是添加路径 例: <div class="form-group"> <label class="col-sm-3 control-lab ...

  9. ios图片添加文字或者水印

    在项目中,我们会对图片做一些处理,但是我们要记住,一般在客户端做图片处理的数量不宜太多,因为受设备性能的限制,如果批量的处理图片,将会带来交互体验性上的一些问题.首先让我们来看看在图片上添加文字的方法 ...

随机推荐

  1. c++动态数组的使用

    在c++中,有的时候会遇到变长的数组(不管是一维的还是二维的),这个时候就需要用到动态数组了,并且要用new和delete两个操作符,这俩操作符一般成对使用. 先说一维的动态数组吧,直接上代码 #in ...

  2. JAVA企业级应用TOMCAT实战(二)

    使用普通用户运行 使用普通用户来部署服务是比较安全的做法 [root@tomcat application]# useradd -u tomcat [root@tomcat application]# ...

  3. java 之 构造器 static关键字

    构造器  特点: 方法名和类名一至,没有void没有返回,无参数的称为无参构造器,有参数的称为有参构造器 语法: public 类名 {数据类型 参数名} 目的:创建对象 注意:如果类中没有带有参数的 ...

  4. java制作一个简单的抽签程序

    首先需要导入import java.util.Random;才能使用随机类Random:Random生成随机数介绍:https://www.cnblogs.com/prodigal-son/p/128 ...

  5. SQL计算算数表达式的函数自定义(加减乘除)

    一.整体思路:循环遍历表达式字符串,设置一个index从第一个字符开始检测当前数字是否可以和后面的数字进行运算,如果可以运算,将两个数挑出来运算,然后用运算的结果替换原来表达式中的这两个数和符号,计算 ...

  6. 浅析Java三大特性封装、继承、多态,及作业分析

    前言 本次博客衔接上次博客,作为这一阶段Java学习的分析.上一篇博客着重介绍了Java的OO编程思维,面向对象与面向过程的区别.本篇博客重心在Java的三大技术特性,附带作业分析. Java三大特性 ...

  7. 常用的CSS小技巧

    实际开发过程中会遇到一些需要用CSS小技巧处理的布局问题,现在分享几个个人工作中遇到的小问题和解决方案. 1.inline元素间的空白间隙 这里要介绍一个神器font-size:0. 如果你写了个列表 ...

  8. webpack4.x下babel的安装、配置及使用

    前言 目前,ES6(ES2015)这样的语法已经得到很大规模的应用,它具有更加简洁.功能更加强大的特点,实际项目中很可能会使用采用了ES6语法的模块,但浏览器对于ES6语法的支持并不完善.为了实现兼容 ...

  9. 01-复杂度2 Maximum Subsequence Sum

    01-复杂度2 Maximum Subsequence Sum   (25分) 时间限制:200ms 内存限制:64MB 代码长度限制:16kB 判题程序:系统默认 作者:陈越 单位:浙江大学 htt ...

  10. 信息竞赛进阶指南--区间最值问题的ST算法

    void ST_prework() { for (int i = 1; i <= n; i++) f[i][0] = a[i]; int t = log(n) / log(2) + 1; for ...