C#/VB.NET:快速而简单的免费SVG到PDF转换技巧
在日常工作中,我们常常需要将SVG转换为PDF格式。这是因为SVG格式的图像在打印时可能会出现问题,例如失去分辨率或无法正确适应纸张大小。与此相比,PDF格式则专门用于打印和共享文档,可以确保高质量输出,并且能够自动适应不同的纸张大小。在本文中,我们将介绍如何使用编程方式将SVG文件转换为PDF,并以C#代码示例演示该过程。一起学起来吧!
1. 准备工作
方法1:
将Free Spire.PDF for .NET下载到本地,解压,找到 BIN 文件夹下的 Spire.PDF.dll。然后在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径 BIN 文件夹下的 dll 文件添加引用至程序。
方法2::
通过NuGet安装。可通过以下 2 种方法安装:
1. 可以在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理 NuGet 包”,然后搜索“Free Spire.PDF”,点击“安装”。等待程序安装完成。
2. 将以下内容复制到 PM 控制台安装。
Install-Package FreeSpire.PDF -Version 8.6.0
具体步骤
按照下列操作,仅需三步即可实现对SVG文件的转换。
- 创建PdfDocument对象。
- 使用PdfDocument.LoadFromFile() 方法加载一个示例SVG文件。
- 使用PdfDocument.SaveToFile(String, FileFormat) 方法将SVG文件转换为PDF。
完整代码
C#
using Spire.Pdf; namespace SVGtoPDF
{
class Program
{
static void Main(string[] args)
{
//创建PdfDocument对象
PdfDocument doc = new PdfDocument(); //加载一个示例SVG文件
doc.LoadFromSvg("Sample.svg"); //保存结果文档
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())
'创建PdfDocument对象
Dim doc As PdfDocument = New PdfDocument() '加载一个示例SVG文件
doc.LoadFromSvg("Sample.svg") '保存结果文档
doc.SaveToFile("Result.pdf", FileFormat.PDF)
doc.Dispose()
End Sub
End Class
End Namespace
效果图

—本文完—
C#/VB.NET:快速而简单的免费SVG到PDF转换技巧的更多相关文章
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
- 快速部署简单私有云CloudStack(上)
前言: 亲身用了大半年,没出过重大毛病,也就是服务挂了,跟服务器也没啥关系.如果想更深入学习cloudstack可以试试高级网络,我是一直用的简单网络(扁平网络). 由来:CloudStack的前身是 ...
- 使用Django快速搭建简单的数据管理后台
使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ...
- javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- .NET快速开发平台(DevExpress)免费下载
Express开发的eXpressApp Framework为简单快速实现商业应用的提供了有效的手段.强大的模块化结构支持跨平台的特定域扩展.典型应用实例包括:商业/销售/客户关系管理系统,项目,文档 ...
- 使用Redis bitmaps进行快速、简单、实时统计
原文:Fast, easy, realtime metrics using Redis bitmaps (http://blog.getspool.com/2011/11/29/fast-easy-r ...
- sumo快速运行简单仿真实例详细教程
本文旨在让大家快速的了解sumo,并给出运行一个简单的sumo的例子的教程,进而了解基本sumo工程的架构,使大家对该软件产生兴趣并持续学习下去,刚开始学习仿真的确枯燥,项目"跑起来&quo ...
- 快速搭建简单的LBS程序——地图服务
很多时候,我们的程序需要提供需要搭建基于位置的服务(LBS),本文这里简单的介绍一下其涉及的一些基本知识. 墨卡托投影 地图本身是一个三维图像,但在电脑上展示时,往往需要将其转换为二维的平面图形,需要 ...
- 使用Node.js快速搭建简单的静态文件服务器
做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...
- 解题报告:poj 3070 - 矩阵快速幂简单应用
2017-09-13 19:22:01 writer:pprp 题意很简单,就是通过矩阵快速幂进行运算,得到斐波那契数列靠后的位数 . 这是原理,实现部分就是矩阵的快速幂,也就是二分来做 矩阵快速幂可 ...
随机推荐
- ArrayBuffer、Float32Array、Uint8Array 详解
ArrayBuffer ArrayBuffer()是一个普通的JavaScript构造函数,可用于在内存中分配特定数量的字节空间. const buf = new ArrayBuffer(16); / ...
- 最新版本 Stable Diffusion 开源 AI 绘画工具之使用篇
目录 界面参数 采样器 文生图(txt2img) 图生图(img2img) 模型下载 界面参数 在使用 Stable Diffusion 开源 AI 绘画之前,需要了解一下绘画的界面和一些参数的意义 ...
- [Java]排序算法>交换排序>【冒泡排序】(O(N*N)/稳定/N较小/有序/顺序+链式)
1 冒泡排序 1.1 算法思想 交换排序的基本思想:两两比较待排序记录的关键字,一旦发现2个记录不满足次序要求时,则:进行交换,直到整个序列全部满足要求为止. 1.2 算法特征 属于[交换排序] 冒泡 ...
- sql求每家店铺销量前三的sku, 附python解法
背景 有一张表: date store_id sku sales 2023-01-01 CK005 03045 50 date 代表交易日期,store_id代表门店编号,sku代表商品,sales代 ...
- MySQL(十二)索引使用的情况分析
索引使用的情况分析 数据准备 创建表student_info.course CREATE TABLE `student_info` ( `id` int NOT NULL AUTO_INCREMENT ...
- Java学习笔记05
1. 方法概述 概念 方法(method)是程序中最小的执行单元. 注意: 方法必须先创建才可以使用,该过程称为方法的定义. 方法创建后并不是直接可以运行的,进行方法的调用才会执行. 2. 方法的 ...
- [操作系统] - 进程切换&进程控制
2.1.6 进程切换 名称解析 进程的上下文(Context) 当一个进程在执行时,CPU的所有寄存器的值.进程的状态以及堆栈中的内容被称为进程的上下文Context 进程的切换(switch) 当内 ...
- Netty介绍与认识
概述 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 2.体系结构图 Netty的核 ...
- java String字符串去除html格式
1.replaceAll方法 去除html格式 语法格式"replaceAll(匹配此字符串的正则表达式,"")"."replaceAll()&quo ...
- React Hooks方法
1.useState import React, { useState } from "react"; /* 目标: 掌握useState的使用 作用:实现响应式数据的 用法:引入 ...