news 2026/4/3 19:22:53

如何使用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/1 14:31:16

跨平台资源监控UI设计:从零构建专业级监控界面

跨平台资源监控UI设计:从零构建专业级监控界面 【免费下载链接】compose-multiplatform JetBrains/compose-multiplatform: 是 JetBrains 开发的一个跨平台的 UI 工具库,基于 Kotlin 编写,可以用于开发跨平台的 Android,iOS 和 ma…

作者头像 李华
网站建设 2026/3/18 14:32:50

人工智能学会看视频做决策!Meta推出能边思考边生成的TV2TV模型

这篇由Meta FAIR实验室的韩晓创团队发表的研究论文,在2025年12月刊载于arXiv预印本平台(论文编号:arXiv:2512.05103v1),首次展示了一个能够"边思考边生成"的视频生成模型。有兴趣深入了解的读者可以通过该论…

作者头像 李华
网站建设 2026/3/28 12:27:44

《Python学习手册》第5章 作业

第1题 超大整数阶乘计算器 1.1 需求 编写函数 big_factorial(n),返回 n 的精确阶乘结果,要求支持 n 最大到 5000。 1.2 举例 输入 100,输出 9332621...000000(共 158 位)。 1.3 考点 Python int 无限精度;循环累积效率。 1.4 实现步骤 特判 n < 0 返回 None; …

作者头像 李华
网站建设 2026/3/28 12:29:53

ANTLR4词法分析器实战指南:从字符流到Token的高效解析

ANTLR4词法分析器实战指南&#xff1a;从字符流到Token的高效解析 【免费下载链接】antlr4 ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. 项目地址…

作者头像 李华
网站建设 2026/3/27 21:05:24

Pry调试神器:10个技巧让你的Ruby开发效率翻倍

Pry调试神器&#xff1a;10个技巧让你的Ruby开发效率翻倍 【免费下载链接】pry A runtime developer console and IRB alternative with powerful introspection capabilities. 项目地址: https://gitcode.com/gh_mirrors/pr/pry Pry作为Ruby开发者必备的运行时调试工具…

作者头像 李华
网站建设 2026/3/28 7:15:34

springboot天天篮球馆管理系统-计算机毕业设计源码58402

摘 要 本论文设计并实现了基于Spring Boot框架的“天天”篮球馆管理系统&#xff0c;旨在为篮球馆提供一个高效、便捷的管理平台&#xff0c;提升场馆运营管理的效率与用户体验。系统采用MySQL数据库进行数据存储&#xff0c;并使用Java编程语言实现后台业务逻辑&#xff0c;支…

作者头像 李华