将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片。此外,PDF文件还具有强大的安全特性,将图片转换为PDF后,我们可以通过设置密码来文件内容不被泄露。本文将介绍如何将JPG/PNG图片转换为PDF文档。
- C# 将单张图片转换为PDF文档
- C# 将多张图片转换到一个PDF文档
此教程可以使用第三方免费库 Free Spire.PDF for .NET,但需要注意该免费库有一定的页数限制。开始前,我们可以通过以下链接下载产品包后手动添加引用,或者直接通过 NuGet 安装。
https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-NET.html
C# 将单张图片转换为PDF文档
Free Spire.PDF for .NET提供的图片转PDF的方法是将加载的图片绘制到PDF页面上实现的,主要步骤如下:
- 创建一个 PDF文档,然后将其页边距设置为0。
- 使用 Image.FromFile() 方法加载图片,然后获取图片的宽度和高度。
- 通过 PdfDocument.Pages.Add() 方法添加一个与图片大小相同的PDF页面。
- 根据图片创建 PdfImage 对象。
- 使用 PdfPageBase.Canvas.DrawImage() 方法在PDF页面上绘制 PdfImage 对象。
- 使用 PdfDocument.SaveToFile() 方法保存生成的 PDF 文档。
示例代码:
ing System.Drawing; using Spire.Pdf; using Spire.Pdf.Graphics; namespace ConvertImageToPdfWithSameSize { class Program { static void Main(string[] args) { //创建PdfDocument对象 PdfDocument pdf = new PdfDocument(); //将页边距设为0 pdf.PageSettings.SetMargins(0); //加载图片 Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\work.jpg"); //获取图片尺寸 float width = image.PhysicalDimension.Width; float height = image.PhysicalDimension.Height; //创建PdfImage对象 PdfImage pdfImage = PdfImage.FromFile(@"C:\Users\Administrator\Desktop\work.jpg"); //添加一个与图片大小相同的PDF页面 PdfPageBase page = pdf.Pages.Add(new SizeF(width, height)); //在页面上绘制图片 page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height); //保存PDF pdf.SaveToFile("图片转Pdf.pdf"); } } }
C# 将多张图片转换到一个PDF文档
Free Spire.PDF for .NET也可以将一个文件夹中的多张图片绘制到一个PDF文档的不同页面上,主要步骤如下:
- 创建一个 PDF文档,然后将其页边距设置为0。
- 获取存储图片的文件夹。
- 遍历文件夹中的每个图像文件,并获取每一张图片的宽度和高度。
- 通过 PdfDocument.Pages.Add() 方法在PDF文档中添加与图片大小相同的PDF页面。
- 使用 PdfPageBase.Canvas.DrawImage() 方法在页面上绘制各个图片。
- 使用 PdfDocument.SaveToFile() 方法保存生成的PDF文档。
示例代码:
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; using System.IO; namespace ConvertMultipleImagesIntoPdf { class Program { static void Main(string[] args) { //创建PdfDocument对象 PdfDocument pdf = new PdfDocument(); //将页边距设为0 pdf.PageSettings.SetMargins(0); //获取存储图片的文件夹 DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\图片"); //遍历文件夹中的图片 foreach (FileInfo file in folder.GetFiles()) { //加载图片 Image image = Image.FromFile(file.FullName); //获取图片尺寸 float width = image.PhysicalDimension.Width; float height = image.PhysicalDimension.Height; //添加与图片大小相同的PDF页面 PdfPageBase page = pdf.Pages.Add(new SizeF(width, height)); //创建PdfImage对象 PdfImage pdfImage = PdfImage.FromFile(file.FullName); //在页面上绘制图片 page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height); } //保存PDF pdf.SaveToFile("多图转Pdf.pdf"); pdf.Dispose(); } } }
– 如需在.NET 程序实现其他PDF文档的操作,如创建、读取、添加图片、表格等,可以从以下链接中查看相关教程:
https://www.e-iceblue.cn/spirepdfnet/spire-pdf-for-net-program-guide-content.html
来源链接:https://www.cnblogs.com/Yesi/p/18777174
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容