首页 > 编程语言 >C#/VB.NET:快速而简单的免费SVG到PDF转换技巧

C#/VB.NET:快速而简单的免费SVG到PDF转换技巧

时间:2023-06-16 17:24:44浏览次数:64  
标签:VB 示例 C# SVG PdfDocument Spire doc 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文件的转换。

  1. 创建PdfDocument对象。
  2. 使用PdfDocument.LoadFromFile() 方法加载一个示例SVG文件。
  3. 使用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

效果图

—本文完—

标签:VB,示例,C#,SVG,PdfDocument,Spire,doc,PDF
From: https://www.cnblogs.com/Carina-baby/p/17486067.html

相关文章

  • 什么是HMI和SCADA?两者有什么区别
    前言几十年来,工业控制系统在工业自动化中发挥了重要作用,它允许过程制造商从生产车间采集、分析、处理数据。 在当今瞬息万变的工业环境中,制造商和公用事业公司必须采用现代HMI/SCADA和数字化转型,以跟上变化的步伐,应对不断增长的运营挑战并保持竞争力。HMI/SCADA软件在世界各......
  • python中parse的action = store_true含义
     我们在python脚本中经常看到action="store_true,如下图: parser.add_argument('--image',default=False,action="store_true",help='Imagedetectionmode,willignoreallpositionalarguments') 如果运行代码时加了   --image,那么im......
  • 串口通信RXTXcomm使用(转)
    一、串口通信原理串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20......
  • SAP MM/PP/SD/FICO表
    SAP部分常用表 一、MM常用表1、MARA:常规物料数据2、MARC:物料的工厂数据3、MAKT:物料描述4、MARD:物料的工厂/库存地点数据5、MBEW:物料评估(财务数据),其中MBEW-WERKS指工厂6、MVKE:物料销售数据7、MLGN:每一个仓库号物料数据(仓库)8、MLGT:每一个存储类型的物料数据(仓......
  • [转]Linux 查看CPU实时运行频率
    原文地址:Linux查看CPU实时运行频率-左搜Linux查看CPU实时运行频率执行命令:watchgrep\'cpuMHz\'/proc/cpuinfo结果参考:由于是watch命令,所以在没推出前这个界面会动态刷新。ctrl+c退出......
  • CKS 考试题整理 (14)-启用API Server认证
    Context由kubeadm创建的cluster的kubernetesAPI服务器,出于测试目的,临时配置允许未经身份验证和未经授权的访问,授予匿名用户cluster-admin的访问权限。 Task重新配置cluster的KubernetesAPl服务器,以确保只允许经过身份验证和授权的REST请求。使用授权模式Node,R......
  • 「解题报告」HDU6358 Innocence
    其实挺简单的,但是考场上状态太差没推出来,暴力还挂了。麻了。首先看题:发现,这不是我们异或FWT的题吗,下次出题记得标明出处容易发现,我们实际上要求的就是集合幂级数\([x^k](x^l+x^{l+1}+\cdots+x^{r-1}+x^r)^n\)。考虑直接手动模拟FWT。设\(F(l,r)=FWT(x^l+......
  • 为开发者“铸剑”,一图揭秘华为云CodeArts IDE四大特性
    华为云开发者桌面CodeArtsIDE,是华为云面向开发者提供的一款智能化桌面集成开发环境,它提供了开发语言和调试服务,支持从插件市场安装插件来扩展能力,帮助开发者获得更好的用云体验和更快捷的云应用开发能力。 ......
  • CKS 考试题整理 (15)-镜像扫描ImagePolicyWebhook
    Contextcluster上设置了容器镜像扫描器,但尚未完全集成到cluster的配置中。完成后,容器镜像扫描器应扫描并拒绝易受攻击的镜像的使用。Task注意:你必须在cluster的master节点上完成整个考题,所有服务和文件都已被准备好并放置在该节点上。 给定一个目录/etc/kubernetes......
  • How Do ASP.NET Core Services Validate JWT Signature Signed by AAD?
    TableofcontentsBackgroundConfigurationHandleAuthenticationValidateTokenSummaryBackgroundIfweneedtouseJWTBearertokensissuedbyAAD(toeitherauserorserviceprincipal)forauthentication,usuallywecanaddbelowcodeto ConfigureSe......