跳至页脚内容
使用IRONPDF

如何在C#中将图像转换为PDF [代码示例教程]

许多库允许 C# 开发人员将图像转换为 PDF。 找到一个免费的、用户友好的性能良好的库可能具有挑战性,因为有些库是付费的、复杂的或功能有限的。 在这些库中,IronPDF 是一个免费、高效且易于实施的 C# 库,脱颖而出。 它附带全面的文档和专业、响应迅速的支持团队。

IronPDF是一个.NET库,用于在.NET项目中生成、读取、编辑和保存PDF文件。 IronPDF 提供用于 .NET 5、Core、Standard 和 Framework 的 HTML 到 PDF 功能,完全支持 HTML 到 PDF,包括 CSS3 和 JS。

让我们来看一下如何创建一个示例项目来了解将图像转换为 PDF。

创建Visual Studio项目

要创建一个新项目,请打开 Microsoft Visual Studio。 建议使用最新版本的 Visual Studio。 创建新项目的步骤可能会因版本而异,但其余步骤应适用于每个版本。

  1. 点击创建新项目。
  2. 选择项目模板,然后在此演示中选择控制台应用程序模板。 您可以根据需要使用任何选项。
  3. 点击下一步。 为项目命名。
  4. 点击下一步并选择 .NET Framework 版本。
  5. 点击创建按钮。

将创建如下所示的新项目。

如何在 C# 中将图像转换为 PDF 【代码示例教程】,图 1:在 Visual Studio 中创建新的控制台应用程序 在Visual Studio中创建一个新的控制台应用程序

接下来,在此项目中安装 IronPDF NuGet 包以使用它的功能。 IronPDF 的有趣之处在于,它通过不依赖专有 API 来消除生成 PDF 文档的挫败感。HTML 到 PDF 渲染示例从开放标准文档类型:HTML、JS、CSS、JPG、PNG、GIF 和 SVG 渲染像素完美的 PDF。 简而言之,它利用了开发人员已经具备的技能。

安装 IronPDF NuGet 包

要安装 NuGet 包,请转到工具 > NuGet 包管理器 > 包管理器控制台。 以下窗口将出现:

如何在 C# 中将图像转换为 PDF 【代码示例教程】,图 2:包管理器控制台 UI 包管理器控制台UI

接下来,在包管理器控制台中编写以下命令:

Install-Package IronPdf

按下回车键。

如何在 C# 中将图像转换为 PDF 【代码示例教程】,图 3:在包管理器控制台中安装 IronPdf 包 在包管理器控制台中安装 IronPdf

将图像文件转换为 PDF 文档

下一步将展示如何将以下图像转换为 PDF。

示例图片

如何在 C# 中将图像转换为 PDF 【代码示例教程】,图 4:示例图片 示例图片

要使用库,在 program.cs 文件中引用 IronPDF 库。在文件顶部编写以下代码片段。

using IronPdf;
using IronPdf;
Imports IronPdf
$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);
    // Save the resulting PDF to the specified path
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.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);
    // Save the resulting PDF to the specified path
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.pdf");
}
Public Shared Sub Main(ByVal args() As String)
	' Convert a single image to the PDF document
	Dim doc As PdfDocument = ImageToPdfConverter.ImageToPdf("D:\Iron Software\ImageToPDF\bird.jpg", IronPdf.Imaging.ImageBehavior.CropPage)
	' Save the resulting PDF to the specified path
	doc.SaveAs("D:\Iron Software\ImageToPDF\bird.pdf")
End Sub
$vbLabelText   $csharpLabel

在上面的代码示例中,IronPDF 提供的 ImageToPdfConverter 类用于图像转换。 ImageToPdf 方法可用于从图像创建 PDF 文档。 它接受图像文件和 System.Drawing 对象作为输入。

静态方法 ImageToPdf 将单个图像文件转换为匹配尺寸的相同 PDF 文档。 它接受两个参数:图像路径和图像行为(图像如何在纸上显示)。 Imaging.ImageBehavior.CropPage 将纸张尺寸设置为等于图像尺寸。默认页面尺寸是 A4。您可以通过以下代码行设置它:

ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
$vbLabelText   $csharpLabel

提供了多种页面尺寸选项,您可以根据需要设置它们。

将多个图像转换为 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"));
    // Convert the images to a PDF document and save it
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(imageFiles);
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.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"));
    // Convert the images to a PDF document and save it
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(imageFiles);
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.pdf");
}
Public Shared Sub Main(ByVal args() As String)
	' Enumerate and filter JPG files from the specified directory
	Dim imageFiles = System.IO.Directory.EnumerateFiles("D:\Iron Software\ImageToPDF\").Where(Function(f) f.EndsWith(".jpg") OrElse f.EndsWith(".jpeg"))
	' Convert the images to a PDF document and save it
	Dim doc As PdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles)
	doc.SaveAs("D:\Iron Software\ImageToPDF\JpgToPDF.pdf")
End Sub
$vbLabelText   $csharpLabel

在上述代码中,System.IO.Directory.EnumerateFiles 检索指定文件夹中可用的所有文件。 Where 子句从该文件夹中过滤所有 JPG 图像并将它们存储在 imageFiles 集合中。 如果您有 PNG 或其他任何图像格式,您只需将其添加到 Where 查询中即可。

下一行将获取所有图像并将它们组合成单个 PDF 文档。

打印 PDF 文件

以下代码片段将打印文档:

doc.Print();
doc.Print();
doc.Print()
$vbLabelText   $csharpLabel

PdfDocument 类提供的 Print 方法将使用默认打印机打印文档。 它还提供更改打印机名称和其他设置的选项。 有关打印文档的更多详细信息,请访问此 PDF 打印示例

摘要

本教程展示了一种非常简单的方式,通过代码示例将图像转换为 PDF 文件,无论是将单个图像转换为 PDF 还是将多个图像组合成一个 PDF 文件。此外,还讲解了如何通过单行代码打印文档。

另外,IronPDF 的一些重要功能包括:

IronPDF 提供了多种有用且有趣的功能,请访问此IronPDF 首页了解更多详情。

IronPDF 是Iron Software 套件的一部分。 Iron Suite 包括其他有趣的产品,例如 IronXL、IronBarcode、IronOCR 和 IronWebscraper,这些产品都非常有用。 您可以通过购买完整的Iron Suite节省高达250%的费用,因为您目前可以用两个的价格购买全部五个产品。 请访问许可详情页面了解更多信息。

常见问题解答

如何在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 机器人,将他对技术的热爱与创造力相结合。