news 2026/4/23 7:53:21

如何使用C#代码将多张图片整合为一个PDF文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用C#代码将多张图片整合为一个PDF文档

如果你有多张图片需要合并成一个文件以便于分发或存储,将它们转换为单一的 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

将多张图片合并为一个 PDF

为了将文件夹中的所有图片转换为一个 PDF,我们需要遍历每张图片,为 PDF 添加与图片尺寸相同的新页面,然后将图片绘制到该页面上。以下是具体步骤:

  1. 创建一个PdfDocument对象。

  2. 使用PdfDocument.PageSettings.SetMargins()方法将页面边距设置为零。

  3. 获取存储图片的文件夹路径。

  4. 遍历文件夹中的每个图片文件,并获取每张图片的宽度和高度。

  5. 使用PdfDocument.Pages.Add()方法,为 PDF 文档添加一个与图片尺寸相同的新页面。

  6. 使用PdfPageBase.Canvas.DrawImage()方法,将图片绘制到页面上。

  7. 使用PdfDocument.SaveToFile()方法保存文档。

具体示例代码如下:

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 天的试用许可证。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 8:07:02

为什么你的显卡装不下100B模型?深度解析大模型精度与显存

摘要:你是否遇到过下载了最新的开源大模型,一运行就报错 “CUDA Out of Memory”?为什么 100B(千亿参数)的模型在 FP16 下需要 200GB 显存,而在 INT4 下只要 50GB?本文将带你像做算术题一样&…

作者头像 李华
网站建设 2026/4/20 7:17:50

【专家亲授】边缘计算场景下Docker部署Agent的最佳实践

第一章:边缘 Agent 的 Docker 轻量级部署在物联网和边缘计算场景中,边缘 Agent 扮演着设备与云端通信的核心角色。为提升部署效率与环境隔离性,采用 Docker 容器化技术实现轻量级、可移植的部署方案成为最佳实践。环境准备 部署前需确保目标边…

作者头像 李华
网站建设 2026/4/21 23:19:33

Dify企业级实战深度解析 (1)

一、学习目标本集作为 Dify 与 Deepseek 联动实战的入门开篇,核心目标聚焦于夯实两大工具的基础使用能力:一方面帮助学习者全面掌握 Dify 开源 AI 应用开发平台的核心操作逻辑与界面交互规则,理解其低代码开发的设计理念;另一方面…

作者头像 李华
网站建设 2026/4/20 11:21:44

halcon gray图像转bgra图像

dev_update_off () dev_close_window ()* * 加载黑白图像 * read_image (GrayImage, C:/Users/范/Pictures/20250410110735.bmp)* 如果不是灰度图像,转换为灰度 count_channels (GrayImage, Channels) if (Channels ! 1)rgb1_to_gray (GrayImage, GrayImage) endif…

作者头像 李华
网站建设 2026/4/21 21:25:14

【图像分割】基于EM算法无监督图像分割附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码获取及仿…

作者头像 李华
网站建设 2026/4/18 22:52:10

锂电池PSE认证流程是什么?

锂电池 PSE 认证核心流程分前期准备、样品测试、文件审核与发证备案,菱形 PSE 还需额外工厂审查,整体遵循日本 METI 与 JIS 标准(JIS C 8712/8714)。一、前期准备(3-5 个工作日)认证类型判定按额定能量划分…

作者头像 李华