使用IRONPRINT

C# 发送 PDF 到打印机(逐步教程)

查克尼特·宾
查克尼特·宾
2022年十二月6日
分享:

PDF表示“便携式文档格式”。 在很多情况下,开发人员需要在应用程序中以编程方式打印 PDF 文件。 在 C# 中,这可能是一项非常繁琐的任务,但由于有了 IronPdf,只需几行代码就能轻松完成。 该工具允许我们使用默认打印机设置和自定义打印选项打印 PDF 文档。 在本教程中,您将学习如何使用 C# 语言打印 PDF。

本教程涵盖的主题

此处将涵盖以下主题:

  • IronPDF 图书馆
  • 创建 C# 控制台项目
  • 安装 IronPDF

    1. NuGet 软件包管理器

    2. NuGet 软件包管理器控制台

    3. 使用 DLL 文件
  • 添加 IronPDF 命名空间
  • 打印 PDF 文档

    1. 创建 PDF 文档并打印 PDF

    2. 根据 URL 创建 PDF 文档并打印

    3. 高级打印
  • 摘要

IronPDF

IronPDF 是适用于 .NET Framework 的 PDF 库,允许开发人员轻松创建 PDF 文件。 IronPDF 的渲染对于桌面版的 Google Chrome 浏览器来说 "像素完美"。 IronPdf 只需一行代码即可轻松创建 PDF 文档。 它可以在没有 Acrobat Reader 或其他 PDF 阅读器的情况下处理 PDF 文档。

IronPdf 可用于从 HTML 字符串、HTML 文件或 URL 创建 PDF 文件。 之后,它可以将这些文件发送到默认打印机进行打印。

IronPDF的免费试用可用。

IronPDF 库的一些重要功能

  • 从HTML 4和5、CSS和JavaScript创建PDF文档
  • 从 URL 生成 PDF 文档
  • 将 PDF 打印到默认的物理打印机
  • 设置打印作业设置(用于打印特定页面等)。
  • 使用自定义网络登录凭证、用户代理、代理服务器、cookie、HTTP 标头和表单字段或变量加载 URL,从而允许访问 HTML 登录表单后面的网页
  • 读取和填写PDF(便携式文档格式)表单字段数据
  • 从 PDF 文件中提取图像和文本
  • 数字签名 PDF 文档
  • 无需第三方库

1.创建 C#; 项目

本教程将使用 Visual Studio 2022,但您也可以使用更早的版本。

  • 打开 Visual Studio 2022。
  • 创建一个新的 C# .NET 控制台项目。 选择 .NET Core 控制台应用程序。
    How to Send PDFs to Printer Using C#, Figure 1: 控制台应用程序

    控制台应用程序

  • 给项目命名。 例如:DemoApp.
  • .NET Framework 6.0 是我们要使用的最新、最稳定的版本。 单击 "创建 "按钮。
    How to Send PDFs to Printer Using C#, Figure 2: .NET框架

    .NET框架

2.安装 IronPDF 库

要安装 IronPDF 库,我们可以使用下面列出的任何一种方法:

2.1.NuGet 软件包管理器

我们可以从 NuGet 包管理器中安装 IronPDF C# .NET Core 库。

通过点击工具 > NuGet包管理器 > 管理解决方案的NuGet包来打开软件包管理器。

How to Send PDFs to Printer Using C#, Figure 3: 软件包管理器

软件包管理器

或者,在解决方案资源管理器中右键单击项目,然后单击管理 NuGet 包。

How to Send PDFs to Printer Using C#, Figure 4:NuGet 包管理器 - 解决方案资源管理器

NuGet 包管理器 - 解决方案资源管理器

搜索 IronPDF。 选择 IronPDF 并点击安装。 该库将开始安装。

How to Send PDFs to Printer Using C#, Figure 5: 安装 IronPDF

安装 IronPDF

2.2.NuGet 软件包管理器控制台

通过点击工具 > NuGet 包管理器 > 管理器控制台打开 NuGet 包管理器控制台。

在命令行中键入以下命令:

Install-Package IronPrint
How to Send PDFs to PRinter Using C#, Figure 6: NuGet 软件包管理器控制台

软件包管理器控制台

2.3.使用 DLL 文件

在项目中使用 IronPDF 的另一种方法是添加 IronPDF 库中的 DLL 文件。 您可以从此链接下载DLL文件。

  • 下载 DLL 压缩文件。解压到指定文件夹。
  • 在 Visual Studio 中打开一个项目。 在解决方案资源管理器中,右键单击 "引用",浏览 IronPDF DLL 文件。

2.4.添加 IronPDF 命名空间

安装完成后,将 IronPDF 和 System.Drawing.DLL 命名空间添加到您的程序文件中。

using IronPdf;
using System.Drawing.dll;
using IronPdf;
using System.Drawing.dll;
Imports IronPdf
Imports System.Drawing.dll
$vbLabelText   $csharpLabel

注意:您必须将这些引用添加到每个希望使用IronPDF功能的文件中。

IronPDF 已安装并准备就绪! 现在,我们可以为 .NET Core 应用程序创建第一个 PDF 文档,并将其发送到默认打印机进行打印。 下面让我们通过代码示例来了解其中的一些内容。

3.打印 PDF 文档

3.1.从 HTML 创建并打印 PDF 文档

处理 HTML 字符串并将其转换为 PDF 格式非常简单。 然后可以使用 IronPDF 打印这个新创建的文件。 以下是轻松创建 PDF 的代码。

// Render any HTML fragment or document to HTML
var html= new ChromePdfRenderer();
using var PDF = html.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to PDF file");

// Send the PDF to the default printer to print
Pdf.Print();

System.Drawing.Printing.PrintDocument PrintDocYouCanWorkWith = Pdf.GetPrintDocument();
// Render any HTML fragment or document to HTML
var html= new ChromePdfRenderer();
using var PDF = html.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to PDF file");

// Send the PDF to the default printer to print
Pdf.Print();

System.Drawing.Printing.PrintDocument PrintDocYouCanWorkWith = Pdf.GetPrintDocument();
' Render any HTML fragment or document to HTML
Dim html= New ChromePdfRenderer()
Dim PDF = html.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to PDF file")

' Send the PDF to the default printer to print
Pdf.Print()

Dim PrintDocYouCanWorkWith As System.Drawing.Printing.PrintDocument = Pdf.GetPrintDocument()
$vbLabelText   $csharpLabel

此代码将使用传递给RenderHtmlAsPdf函数的HTML内容创建一个PDF文件。 该功能将 HTML 片段转换为 PDF 文档。

您必须熟悉 HTML 标记,以便使用 IronPDF 库生成 PDF 文件或 PDF 页面。 我们使用Print函数将PDF文件的输出发送到打印机。 打印机对话框将出现,您可以确认打印任务。

3.2.从 URL 创建并打印 PDF 文档

您还可以使用 URL 创建 PDF 文档:

var Render = new ChromePdfRenderer();
var PDF = Render.RenderUrlAsPdf("https://ironpdf.com/");

// Send the PDF to the default printer to print
Pdf.Print();

System.Drawing.Printing.PrintDocument PrintDoc = Pdf.GetPrintDocument();
var Render = new ChromePdfRenderer();
var PDF = Render.RenderUrlAsPdf("https://ironpdf.com/");

// Send the PDF to the default printer to print
Pdf.Print();

System.Drawing.Printing.PrintDocument PrintDoc = Pdf.GetPrintDocument();
Dim Render = New ChromePdfRenderer()
Dim PDF = Render.RenderUrlAsPdf("https://ironpdf.com/")

' Send the PDF to the default printer to print
Pdf.Print()

Dim PrintDoc As System.Drawing.Printing.PrintDocument = Pdf.GetPrintDocument()
$vbLabelText   $csharpLabel

PDF 打印出来的效果如下图所示:

如何使用 C# 将 PDF 发送至 PRinter,图 7:打印从 URL 生成的 PDF

软件包管理器控制台

4.高级打印选项

IronPdf 功能多样,能够处理查找打印机和设置打印分辨率等打印功能。

4.1 指定打印机

要指定打印机,您只需获取当前打印文档对象(利用GetPrintDocument方法),然后使用PrinterSettings.PrinterName属性。 您可以选择任何可用的打印机。

using (var printDocument = PDF.GetPrintDocument())
{
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
printDocument.Print();
}
using (var printDocument = PDF.GetPrintDocument())
{
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
printDocument.Print();
}
Using printDocument = PDF.GetPrintDocument()
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"
printDocument.Print()
End Using
$vbLabelText   $csharpLabel

在上面的代码示例中,我选择了 "Microsoft Print to PDF"。 有关设置特定打印设置的更多信息,可以在文档页面中找到。

4.2 设置打印机分辨率

您还可以设置打印 PDF 的分辨率。 分辨率是指打印或显示的像素数,具体取决于您的输出。 您还可以通过IronPDF利用PDF文档的DefaultPageSettings.PrinterResolution属性来设置打印文档的分辨率。

printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
    Kind = PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};
printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
    Kind = PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};
printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
	.Kind = PrinterResolutionKind.Custom,
	.X = 1200,
	.Y = 1200
}
$vbLabelText   $csharpLabel

4.3 使用 C++ 追踪打印流程

在下面的代码示例中,您将看到如何更改打印机名称和分辨率,以及如何计算打印的页数。

using (var printDocument = PDF.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
    {
        Kind = PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };
    var printedPages = 0;
    printDocument.PrintPage += (sender, args) => printedPages++;
    printDocument.Print();
}
using (var printDocument = PDF.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
    {
        Kind = PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };
    var printedPages = 0;
    printDocument.PrintPage += (sender, args) => printedPages++;
    printDocument.Print();
}
Using printDocument = PDF.GetPrintDocument()
	printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"
	printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
		.Kind = PrinterResolutionKind.Custom,
		.X = 1200,
		.Y = 1200
	}
	Dim printedPages = 0
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: printDocument.PrintPage += (sender, args) => printedPages++;
	AddHandler printDocument.PrintPage, Sub(sender, args) printedPages
	printedPages += 1
	printDocument.Print()
End Using
$vbLabelText   $csharpLabel

5.摘要

IronPDF 是处理 PDF 文档的完整解决方案。 它提供将不同格式转换为 PDF 的功能。 有了 IronPDF 库函数,操作和格式化 PDF 文件变得非常容易。 只需几行代码即可创建和格式化 PDF 文件。它还能以编程方式打印 PDF。 它通过将 PDF 发送到计算机的默认打印机来打印 PDF。 我们可以向用户显示打印对话框窗口,或者使用Print方法的重载进行静默打印。

IronPDF 的免费试用版也可用于测试其在您的应用程序中生成和打印 PDF 文档的全部潜力。 有关许可的更多信息,请访问此链接

此外,当前特别优惠允许您以仅购买两个产品的价格获得五个Iron Software产品。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
C#程序化打印PDF(代码示例教程)
下一步 >
如何用VB.NET打印PDF的分步教程

准备开始了吗? 版本: 2025.4 刚刚发布

查看许可证 >