将图片(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