使用IRONPDF 如何在C#中将图像转换为PDF [代码示例教程] Curtis Chau 已更新:2026年1月25日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 IronPDF通过其ImageToPdf方法为C#中的图像转换为PDF提供了一个简单的免费解决方案,允许开发者仅需几行代码和可自定义的页面设置即可转换单个或多个图像。 许多库允许 C# 开发人员将图像转换为 PDF。 找到一个免费的、用户友好的性能良好的库可能具有挑战性,因为有些库是付费的、复杂的或功能有限的。 在这些库中,IronPDF 是一个免费、高效且易于实施的 C# 库,脱颖而出。 它附带全面的文档和专门的支持。 IronPDF是一个.NET库,用于在.NET项目中生成、读取、编辑和保存PDF文件。 IronPDF为.NET 5、Core、Standard & Framework提供HTML-to-PDF功能,全面支持HTML to PDF,包括CSS3和JS。 该库利用Chrome渲染引擎,确保从各种来源生成像素完美的PDF。 让我们看看如何创建一个示例项目来了解将图像转换为PDF。 本教程将指导您完成安装过程、基本图像转换以及处理多个图像和不同格式的高级功能。 ## 如何在C#中将图像转换为PDF 安装图像到 PDF 的 C# 库。 Utilize ``ImageToPdf`` method to convert image to PDF 指定页面上图像的可选行为 输入可选的PDF页面设置 将PDF保存到所需位置 如何创建一个Visual Studio项目? 要创建一个新项目,请打开 Microsoft Visual Studio。 建议使用最新版本的Visual Studio。 创建新项目的步骤可能会因版本而异,但其余步骤应适用于每个版本。 点击创建新项目。 选择项目模板,然后在此演示中选择控制台应用程序模板。 您可以根据需要使用任何模板,包括ASP.NET Core或Blazor应用程序。 点击下一步。 命名项目(例如,"ImageToPDFConverter")。 点击下一步并选择 .NET Framework 版本。 点击创建按钮。 将创建如下所示的新项目。 项目结构将包括一个Program.cs文件,我们将在其中编写我们的图像转换代码。 在Visual Studio中创建一个新的控制台应用程序 我应该选择哪个.NET Framework版本? IronPDF支持多种.NET版本,包括.NET Framework 4.6.2+、.NET Core 3.1+和.NET 5/6/7/8+。 对于新项目,建议使用最新的LTS(长期支持)版本的.NET以获得最佳性能和安全更新。 该库也可以在Windows、Linux和macOS平台上无缝工作。 接下来,在此项目中安装 IronPDF NuGet 包以使用它的功能。 IronPDF的一个优点是它通过不依赖专有API减少了生成PDF文档的麻烦。HTML to PDF渲染可以从以下开放标准文档类型呈现像素完美的PDF:HTML、JS、CSS、JPG、PNG、GIF和SVG。 简而言之,它利用了开发人员已经具备的技能。 如何安装IronPDF NuGet包? 要安装 NuGet 包,请转到工具 > NuGet 包管理器 > 包管理器控制台。 以下窗口将出现: 包管理器控制台UI 接下来,在包管理器控制台中编写以下命令: Install-Package IronPdf 按下回车键。 安装过程将下载IronPDF及其依赖项,包括必要的Chrome渲染引擎组件。 在包管理器控制台中安装IronPDF包 哪些是替代安装方法? 您还可以通过以下方式安装IronPDF: NuGet Package Manager UI:右键点击您的项目,选择"Manage NuGet Packages",搜索"IronPdf"并点击安装 Package Reference:将<PackageReference Include="IronPdf" Version="*" />添加到您的.csproj文件 Direct Download:从IronPDF网站下载DLL并手动引用 Command Line:在终端中使用dotnet add package IronPdf 对于Azure 部署,您可能需要额外的配置。 同样,Docker环境需要特定的设置步骤。 如何将图像文件转换为PDF文档? 下一步将展示如何将以下图像转换为 PDF。 IronPDF通过其ImageToPdf转换器功能使此过程变得简单。 支持哪些图像格式? IronPDF支持多种图像格式转换为PDF: JPEG/JPG:照片最常见的格式 PNG:理想用于带有透明度的图像 GIF:包括动画GIF(使用第一帧) BMP:Windows位图格式 TIFF:包括多页TIFF文件 SVG:可缩放矢量图形 WebP:现代网络图像格式 示例图片 要使用该库,请在program.cs文件中引用IronPDF库。在文件顶部编写以下代码片段: using IronPdf; using IronPdf.Imaging; using System.Linq; using IronPdf; using IronPdf.Imaging; using System.Linq; $vbLabelText $csharpLabel 接下来,在主函数内编写以下代码。 这将把一个JPG文件转换为一个PDF文件: public static void Main(string[] args) { // Convert a single image to the PDF document PdfDocument doc = ImageToPdfConverter.ImageToPdf(@"D:\Iron Software\ImageToPDF\bird.jpg", IronPdf.Imaging.ImageBehavior.CropPage); // Optional: Set document properties doc.MetaData.Author = "IronPDF Tutorial"; doc.MetaData.Title = "Image to PDF Conversion"; doc.MetaData.Subject = "Converting JPG to PDF"; // Save the resulting PDF to the specified path doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.pdf"); Console.WriteLine("PDF created successfully!"); } public static void Main(string[] args) { // Convert a single image to the PDF document PdfDocument doc = ImageToPdfConverter.ImageToPdf(@"D:\Iron Software\ImageToPDF\bird.jpg", IronPdf.Imaging.ImageBehavior.CropPage); // Optional: Set document properties doc.MetaData.Author = "IronPDF Tutorial"; doc.MetaData.Title = "Image to PDF Conversion"; doc.MetaData.Subject = "Converting JPG to PDF"; // Save the resulting PDF to the specified path doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.pdf"); Console.WriteLine("PDF created successfully!"); } $vbLabelText $csharpLabel ImageBehavior如何影响输出? 在上述代码示例中,IronPDF提供的ImageToPdfConverter类用于图像转换。 可以使用ImageToPdf方法从图像创建PDF文档。 它接受图像文件和System.Drawing对象作为输入。 静态方法ImageToPdf将单个图像文件转换为匹配尺寸的相同PDF文档。 它接受两个参数:图像路径和图像行为(图像如何在纸上显示)。 ImageBehavior枚举提供了几个选项: CropPage:设置PDF页面大小以匹配图像尺寸 CenteredOnPage:将图像居中于页面而不调整大小 FitToPage:缩放图像以适应页面边距 FitToPageAndMaintainAspectRatio:缩放同时保持纵横比 Imaging.ImageBehavior.CropPage将纸张大小设置为图像大小。默认页面大小为A4。您可以通过以下代码行进行设置: ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter; ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter; $vbLabelText $csharpLabel 您也可以为特定需求设置自定义页面尺寸: // Set custom page size in millimeters ImageToPdfConverter.PaperSize = new IronPdf.Rendering.PdfPaperSize(210, 297); // Set custom page size in millimeters ImageToPdfConverter.PaperSize = new IronPdf.Rendering.PdfPaperSize(210, 297); $vbLabelText $csharpLabel 有哪些纸张尺寸选项可用? 提供了多种页面尺寸选项,您可以根据需要设置它们。 IronPDF支持所有标准纸张尺寸: A系列:A0, A1, A2, A3, A4(默认值), A5, A6, A7, A8, A9, A10 B系列:B0到B10 美国尺寸:Letter, Legal, Ledger, Tabloid, Executive 其他尺寸:Foolscap, Crown, Demy, Royal等 您还可以为您的PDF配置页面方向(纵向或横向)和自定义边距。 如何将多个图像转换为PDF文件? 以下示例将 JPG 图像转换为新文档。 这对于创建相册、目录或组合扫描文档特别有用: public static void Main(string[] args) { // Enumerate and filter JPG files from the specified directory var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\") .Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg")); // Sort files alphabetically (optional) var sortedImageFiles = imageFiles.OrderBy(f => f); // Convert the images to a PDF document PdfDocument doc = ImageToPdfConverter.ImageToPdf(sortedImageFiles); // Add page numbers to each page for (int i = 0; i < doc.PageCount; i++) { doc.AddTextFooter($"Page {i + 1} of {doc.PageCount}", FontFamily.Arial, fontSize: 10, y: 25); } // Save the combined PDF doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.pdf"); Console.WriteLine($"Combined {doc.PageCount} images into a single PDF!"); } public static void Main(string[] args) { // Enumerate and filter JPG files from the specified directory var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\") .Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg")); // Sort files alphabetically (optional) var sortedImageFiles = imageFiles.OrderBy(f => f); // Convert the images to a PDF document PdfDocument doc = ImageToPdfConverter.ImageToPdf(sortedImageFiles); // Add page numbers to each page for (int i = 0; i < doc.PageCount; i++) { doc.AddTextFooter($"Page {i + 1} of {doc.PageCount}", FontFamily.Arial, fontSize: 10, y: 25); } // Save the combined PDF doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.pdf"); Console.WriteLine($"Combined {doc.PageCount} images into a single PDF!"); } $vbLabelText $csharpLabel 如何筛选不同的图像格式? 在上述代码中,System.IO.Directory.EnumerateFiles检索指定文件夹中可用的所有文件。 imageFiles集合中。 如果您有PNG或其他任何图像格式,您只需将其添加到Where查询中: // Filter multiple image formats var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\") .Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".png", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase)); // Filter multiple image formats var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\") .Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".png", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase)); $vbLabelText $csharpLabel 您还可以使用带有扩展名数组的更简洁的方法: string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tiff" }; var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\") .Where(f => imageExtensions.Any(ext => f.EndsWith(ext, StringComparison.OrdinalIgnoreCase))); string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tiff" }; var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\") .Where(f => imageExtensions.Any(ext => f.EndsWith(ext, StringComparison.OrdinalIgnoreCase))); $vbLabelText $csharpLabel 图像在PDF中的出现顺序如何? 默认情况下,图像会按照文件系统返回的顺序出现,这可能不是按字母顺序排列。 为了控制顺序,您可以对文件进行排序: 按字母顺序:imageFiles.OrderBy(f => f) 按创建日期:imageFiles.OrderBy(f => new FileInfo(f).CreationTime) 按文件大小:imageFiles.OrderBy(f => new FileInfo(f).Length) 自定义顺序:使用自定义比较函数 下一行将获取所有图像并将它们组合成单个 PDF 文档。 每个图像在PDF中成为单独的页面。 如何打印PDF文件? 以下代码片段将使用IronPDF的打印功能打印文档: // Print using default printer doc.Print(); // Print silently (without print dialog) doc.Print(showPreview: false); // Print to a specific printer var printerName = "Microsoft Print to PDF"; doc.Print(printerName); // Print using default printer doc.Print(); // Print silently (without print dialog) doc.Print(showPreview: false); // Print to a specific printer var printerName = "Microsoft Print to PDF"; doc.Print(printerName); $vbLabelText $csharpLabel 我可以指定打印机设置吗? 由Print方法将使用默认打印机打印文档。 它还提供更改打印机名称和其他设置的选项。 对于高级打印选项: // Advanced printing with settings using System.Drawing.Printing; var printDocument = doc.GetPrintDocument(); printDocument.PrinterSettings.PrinterName = "Your Printer Name"; printDocument.PrinterSettings.Copies = 2; printDocument.PrinterSettings.Collate = true; printDocument.PrinterSettings.PrintRange = PrintRange.SomePages; printDocument.PrinterSettings.FromPage = 1; printDocument.PrinterSettings.ToPage = 3; printDocument.Print(); // Advanced printing with settings using System.Drawing.Printing; var printDocument = doc.GetPrintDocument(); printDocument.PrinterSettings.PrinterName = "Your Printer Name"; printDocument.PrinterSettings.Copies = 2; printDocument.PrinterSettings.Collate = true; printDocument.PrinterSettings.PrintRange = PrintRange.SomePages; printDocument.PrinterSettings.FromPage = 1; printDocument.PrinterSettings.ToPage = 3; printDocument.Print(); $vbLabelText $csharpLabel 有关打印文档的更多详细信息,请访问此PDF打印示例。 您还可以探索企业环境的网络打印选项。 主要收获是什么? 本教程展示了一种非常简单的方式,通过代码示例将图像转换为 PDF 文件,无论是将单个图像转换为 PDF 还是将多个图像组合成一个 PDF 文件。此外,还讲解了如何通过单行代码打印文档。 覆盖的关键点: 通过NuGet Package Manager安装IronPDF 使用自定义行为将单个图像转换为PDF 批量将多个图像转换为一个PDF 控制页面大小、方向和边距 为PDF添加元数据和页码 程序化地打印PDF并带有选项 此外,IronPDF的一些重要功能包括: 从URL生成PDF以捕获网页 为安全性加密和解密PDF 为文档管理合并现有PDF文件 创建和编辑PDF表单用于交互文档 为品牌或安全性添加水印 从现有PDF中提取文本和图像 为文档认证添加数字签名 通过PDF压缩来减少文件大小 将PDF转换为图像用于缩略图 我可以在哪里了解更多关于IronPDF的信息? IronPDF提供了多个有用的功能。 探索这些资源: 访问IronPDF首页了解产品概览 浏览全面的文档获取详细指南 查看代码示例了解实际应用 阅读教程进行分步学习 访问API参考获取技术细节 加入IronPDF社区获取支持 对于特定用例,请探索: HTML到PDF转换以处理网页内容 PDF安全功能以获得保护 大操作的性能优化 Azure和AWS的云部署指南 IronPDF的价格是多少? IronPDF是Iron Software suite的一部分。 Iron Suite包括其他有用的产品,如用于Excel操作的IronXL、用于条形码生成的IronBarcode、用于文本识别的IronOCR和用于网页数据提取的IronWebscraper。 您可以通过购买完整的Iron Suite节省高达250%的费用,因为您目前可以用两个的价格购买全部五个产品。 请访问许可证详情页面查看更多信息。 IronPDF 提供: 免费开发许可证用于测试 专业许可起价$749 免版税再分发选项 SaaS和OEM许可可用 30天退款保证 一年免费支持和更新 可免费试用IronPDF 30天,使用试用许可证,或探索适合您团队的许可选项。 常见问题解答 如何在C#中将图像转换为PDF? 您可以使用IronPDF的ImageToPdf方法在C#中将图像转换为PDF。此方法允许您指定图像路径和期望的PDF输出设置。 能否将多个图像转换为一个PDF文件? 可以,IronPDF允许您使用ImageToPdf方法将多个图像转换为一个PDF文件,在此方法中您提供图像文件的集合。 哪些图像格式可以转换为PDF? IronPDF支持将各种图像格式如JPG、PNG、GIF和SVG转换为PDF文档。 如何在转换图像为PDF时设置页面大小? 要在转换期间设置页面大小,使用ImageToPdfConverter类中的PaperSize属性选择如信纸或A4的标准尺寸。 是否可以打印IronPDF创建的PDF文档? 可以,IronPDF在PdfDocument类中包含Print方法,允许您使用默认或指定的打印机设置打印PDF文档。 IronPDF提供了哪些附加功能? IronPDF提供额外功能,如从URL生成PDF,加密和解密PDF,合并PDF文件,以及创建和编辑PDF表单。 如何在Visual Studio项目中安装IronPDF? 要在Visual Studio项目中安装IronPDF,打开包管理器控制台并运行命令Install-Package IronPDF。 使用 IronPDF 进行 PDF 生成的优势是什么? IronPDF提供简单、高效和有据可查的API用于PDF生成,无需依赖专有API。它还提供专业支持并有效处理各种PDF任务。 IronPDF 与 .NET 10 兼容吗?如何在 .NET 10 项目中使用它进行图像到 PDF 的转换? 是的——IronPDF 完全兼容 .NET 10,并支持在 .NET 10 项目中开箱即用地将图像转换为 PDF。要使用它,请在您的 .NET 10 项目中安装 IronPDF NuGet 包,然后调用诸如 ` ImageToPdfConverter.ImageToPdf("path/to/image.png")之类的方法来转换单个图像,或者传递一个包含图像路径的 IEnumerable 来转换多个图像。您还可以通过ChromePdfRenderOptions指定诸如ImageBehavior或渲染选项之类的选项进行自定义。这与之前的 .NET 版本的工作方式完全相同。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新2026年3月1日 如何在.NET中使用IronPDF创建PDF文件(C#教程) 发现为开发人员创建PDF文件的有效方法。提升您的编码技能并简化您的项目。立即阅读文章! 阅读更多 已更新2026年2月27日 如何在C#中合并PDF文件 使用IronPDF合并PDF VB NET。学习使用简单的VB.NET代码将多个PDF文件合并为一个文档。包括逐步示例。 阅读更多 已更新2026年3月1日 面向 .NET 10 开发人员的 C# PDFWriter 教程 使用这份逐步指南了解如何高效地使用C# PDFWriter创建PDF。阅读文章提升您的技能! 阅读更多 在.NET MAUI中使用IronPDF创建PDF文件C#文本到PDF(代码示例教程)