如果你有多张图片需要合并成一个文件以便于分发或存储,将它们转换为单一的 PDF 文档是一个非常有效的解决方案。此过程不仅可以节省空间,还能确保所有图片被整合在同一个文件中,方便共享或传输。本文将向你介绍如何使用 Spire.PDF for .NET,在 C# 和 VB.NET 中将多张图片合并生成一个 PDF 文档。
安装 Spire.PDF for .NET
首先,你需要将 Spire.PDF for .NET 包中包含的 DLL 文件添加为 .NET 项目的引用。你可以通过以下链接下载 DLL 文件,或通过 NuGet 进行安装。
cs
PM> Install-Package Spire.PDF
将多张图片合并为一个 PDF
为了将文件夹中的所有图片转换为一个 PDF,我们需要遍历每张图片,为 PDF 添加与图片尺寸相同的新页面,然后将图片绘制到该页面上。以下是具体步骤:
-
创建一个 PdfDocument 对象。
-
使用 PdfDocument.PageSettings.SetMargins() 方法将页面边距设置为零。
-
获取存储图片的文件夹路径。
-
遍历文件夹中的每个图片文件,并获取每张图片的宽度和高度。
-
使用 PdfDocument.Pages.Add() 方法,为 PDF 文档添加一个与图片尺寸相同的新页面。
-
使用 PdfPageBase.Canvas.DrawImage() 方法,将图片绘制到页面上。
-
使用 PdfDocument.SaveToFile() 方法保存文档。
具体示例代码如下:
cs
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace ConvertMultipleImagesIntoPdf
{
class Program
{
static void Main(string[] args)
{
//创建 PdfDocument 对象
PdfDocument doc = new PdfDocument();
//将页面边距设置为 0
doc.PageSettings.SetMargins(0);
//获取存储图片的文件夹
DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Images");
//遍历文件夹中的所有文件
foreach (FileInfo file in folder.GetFiles())
{
//加载当前图片
Image image = Image.FromFile(file.FullName);
//获取图片宽度和高度
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
//添加一个与图片尺寸相同的页面
PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
//根据图片创建 PdfImage 对象
PdfImage pdfImage = PdfImage.FromImage(image);
//将图片绘制到页面左上角 (0, 0) 位置
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
}
//保存文档
doc.SaveToFile("CombinaImagesToPdf.pdf");
doc.Dispose();
}
}
}
申请临时许可证
如果您想去除生成文档中的评估提示,或解除功能限制,请为自己申请一个为期 30 天的试用许可证。