跳至页脚内容
使用IRONPDF

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

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

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

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

class="hsg-featured-snippet">

如何在 C# 中将图像转换为 PDF

  1. 安装图像到 PDF 的 C# 库
  2. 使用 ImageToPdf 方法将图像转换为 PDF
  3. 指定可选的图像在页面上的行为
  4. 输入可选的 PDF 页面的设置
  5. 将 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 机器人,将他对技术的热爱与创造力相结合。