如果您想将多个图像合并为一个文件以便于分发或存储,那么将它们转换为一个 PDF 文档是一个很好的解决方案。这一过程不仅节省了空间,还确保所有图像都保存在一个文件中,便于共享或传输。在本文中,您将学习如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中将多个图像组合成一个 PDF 文档。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF
在 C# 和 VB.NET 中将多个图像合并为一个 PDF
为了将文件夹中的所有图像转换为 PDF,我们遍历每个图像,在 PDF 中添加一个与图像大小相同的新页面,然后将图像绘制到新页面上。以下是详细的步骤。
- 创建 PdfDocument 对象。
- 使用 PdfDocument.PageSettings.SetMargins() 方法将页边距设置为零。
- 获取存储图像的文件夹。
- 遍历文件夹中的每个图像文件,并获得特定图像的宽度和高度。
- 使用 PdfDocument.Pages.Add() 方法将宽度和高度与图像相同的新页面添加到 PDF 文档中。
- 使用 PdfPageBase.Canvas.DrawImage() 方法在页面上绘制图像。
- 使用 PdfDocument.SaveToFile() 方法保存文档。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.IO;
namespace ConvertMultipleImagesIntoPdf
{
class Program
{
static void Main(string[] args)
{
//创建PdfDocument对象
PdfDocument doc = new PdfDocument();
//将页边距设置为零
doc.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;
//添加与图像大小相同的页面
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("结果文档.pdf");
doc.Dispose();
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing
Imports System.IO
Namespace ConvertMultipleImagesIntoPdf
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'创建PdfDocument对象
Dim doc As PdfDocument = New PdfDocument()
'将页边距设置为零
doc.PageSettings.SetMargins(0)
'获取存储图像的文件夹
Dim folder As DirectoryInfo = New DirectoryInfo("C:\Users\Administrator\Desktop\图片")
'遍历文件夹中的文件
For Each file In folder.GetFiles()
'加载特定图像
Dim image As Image = Image.FromFile(file.FullName)
'获取图像宽度和高度
Dim width As Single = image.PhysicalDimension.Width
Dim height As Single = image.PhysicalDimension.Height
'添加与图像大小相同的页面
Dim page As PdfPageBase = doc.Pages.Add(New SizeF(width, height))
'基于图像创建PdfImage对象
Dim pdfImage As PdfImage = PdfImage.FromImage(image)
'在页面的(0,0)处绘制图像
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height)
Next
'保存文件
doc.SaveToFile("结果文档.pdf")
doc.Dispose()
End Sub
End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。