将多个图像转换成一个 PDF 文件
Spire.PDF for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。致力于在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档,而无需安装 Microsoft Word。
行号用于在每行文本旁边显示 Word 自动计算的行数。当我们需要参考合同或法律文件等文档中的特定行时,它非常有用。word中的行号功能允许我们设置起始值、编号间隔、与文本的距离以及行号的编号方式。使用 Spire.Doc,我们可以实现上述所有功能。本文将介绍如何将 HTML 转换为 PDF。
欢迎加入spire技术交流群:767755948
如果您有多个图像,想合并成一个文件以便于分发或存储,将它们转换成一个 PDF 文档是一个很好的解决方案。这一过程不仅能节省空间,还能确保所有图像都保存在一个文件中,方便共享或传输。在本文中,您将学习如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中将多个图像合并为一个 PDF 文档。
安装 Spire.PDF for .NET
首先,您需要将 Spire.PDF for.NET 软件包中包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件既可以从这个链接下载,也可以通过 NuGet 安装。
1 PM> Install-Package Spire.PDF
在 C# 和 VB.NET 中将多个图像合并为一个 PDF
为了将文件夹中的所有图像转换为 PDF,我们需要遍历每张图像,在 PDF 中添加与图像大小相同的新页面,然后将图像绘制到新页面上。以下是详细步骤。
- 创建一个 PdfDocument 对象。
- 使用 PdfDocument.PageSettings.SetMargins() 方法将页边距设置为零。
- 获取存储图像的文件夹。
- 遍历文件夹中的每个图像文件,并获取特定图像的宽度和高度。
- 使用PdfDocument.Pages.Add()方法在PDF文档中添加宽度和高度与图像相同的新页面.
- 使用 PdfPageBase.Canvas.DrawImage() 方法在页面上绘制图像。
- 使用PdfDocument.SaveToFile()方法保存文档。
01 using Spire.Pdf; 02 using Spire.Pdf.Graphics; 03 using System.Drawing; 04 05 namespace ConvertMultipleImagesIntoPdf 06 { 07 class Program 08 { 09 static void Main(string[] args) 10 { 11 //Create a PdfDocument object 12 PdfDocument doc = new PdfDocument(); 13 14 //Set the page margins to 0 15 doc.PageSettings.SetMargins(0); 16 17 //Get the folder where the images are stored 18 DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Images"); 19 20 //Iterate through the files in the folder 21 foreach (FileInfo file in folder.GetFiles()) 22 { 23 //Load a particular image 24 Image image = Image.FromFile(file.FullName); 25 26 //Get the image width and height 27 float width = image.PhysicalDimension.Width; 28 float height = image.PhysicalDimension.Height; 29 30 //Add a page that has the same size as the image 31 PdfPageBase page = doc.Pages.Add(new SizeF(width, height)); 32 33 //Create a PdfImage object based on the image 34 PdfImage pdfImage = PdfImage.FromImage(image); 35 36 //Draw image at (0, 0) of the page 37 page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height); 38 } 39 40 //Save to file 41 doc.SaveToFile("CombinaImagesToPdf.pdf"); 42 doc.Dispose(); 43 } 44 } 45 }
[VB.NET]
01 Imports Spire.Pdf 02 Imports Spire.Pdf.Graphics 03 Imports System.Drawing 04 05 Namespace ConvertMultipleImagesIntoPdf 06 Class Program 07 Shared Sub Main(ByVal args() As String) 08 'Create a PdfDocument object 09 Dim doc As PdfDocument = New PdfDocument() 10 11 'Set the page margins to 0 12 doc.PageSettings.SetMargins(0) 13 14 'Get the folder where the images are stored 15 Dim folder As DirectoryInfo = New DirectoryInfo("C:\Users\Administrator\Desktop\Images") 16 17 'Iterate through the files in the folder 18 Dim file As FileInfo 19 For Each file In folder.GetFiles() 20 'Load a particular image 21 Dim image As Image = Image.FromFile(file.FullName) 22 23 'Get the image width and height 24 Dim width As single = image.PhysicalDimension.Width 25 Dim height As single = image.PhysicalDimension.Height 26 27 'Add a page that has the same size as the image 28 Dim page As PdfPageBase = doc.Pages.Add(New SizeF(width,height)) 29 30 'Create a PdfImage object based on the image 31 Dim pdfImage As PdfImage = PdfImage.FromImage(image) 32 33 'Draw image at (0, 0) of the page 34 page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height) 35 Next 36 37 'Save to file 38 doc.SaveToFile("CombinaImagesToPdf.pdf") 39 doc.Dispose() 40 End Sub 41 End Class 42 End Namespace
申请临时许可证
若想从生成的文档中删除评估信息,或解除功能限制,申请 30 天试用许可证。