在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
在网络打印机上进行编程打印是各种软件应用程序的共同任务。 无论您是在构建桌面、移动应用程序还是网络服务,将文档直接发送到网络打印机的功能都能大大提高软件的可用性和效率。 在本文中,我们将探讨如何使用 C# 和 IronPrint 从 Iron Software 在网络打印机上打印。
使用IronPrint创建一个用于打印文档的新项目。
将IronPrint安装到一个新项目中。
可用于打印文档的网络打印机列表。
使用IronPrint打印PDF文档。
使用IronPrint和对话框打印 PDF 文档。
在进入编码部分之前,让我们确保环境设置正确。 要使用 C# 在网络打印机上打印,您需要具备以下条件:
确保在运行 C# 应用程序的机器上可以访问网络打印机。
打印机的网络地址(IP地址或网络打印机名称)。
在机器上安装必要的打印机驱动程序。
在深入了解实施细节之前,让我们先熟悉一下如何开始使用 IronPrint:
安装:可以通过NuGet包管理器轻松安装IronPrint。 只需访问NuGet 页面并按照安装说明进行操作。
文档:请参考官方文档获取快速入门指南和全面的API参考。
兼容性和支持:IronPrint 为各种环境和项目类型提供广泛的兼容性和支持:
现在,让我们通过下面的示例看看如何使用 IronPrint 打印。
using IronPrint;
// Configure printer setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 220;
printSettings.NumberOfCopies = 10;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings);
using IronPrint;
// Configure printer setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 220;
printSettings.NumberOfCopies = 10;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings);
Imports IronPrint
' Configure printer setting
Private printSettings As New PrintSettings()
printSettings.Dpi = 220
printSettings.NumberOfCopies = 10
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings)
C# 中的 System.Printing
命名空间包含类和接口,支持开发人员以编程方式与打印机、打印队列、打印服务器和打印作业进行交互。 该命名空间中的一些关键类和接口包括
PrintQueue
:表示连接到系统的打印机或打印设备。
PrintServer
:表示网络上的打印服务器。
PrintSystemJobInfo
:提供有关打印作业的信息,如其状态和属性。
PrintTicket
:表示打印作业的设置,包括纸张大小、方向和打印质量。
入门System.Printing
:在我们深入代码之前,让我们确保对System.Printing
的打印工作原理有一个基本的理解:
PrintQueue
选择:您需要识别表示您要用于打印的打印机的PrintQueue
对象。
PrintTicket
配置:您可以选择配置 PrintTicket
对象以指定打印设置,例如纸张大小、方向和副本数量。
文档打印:最后,将文档发送到所选的PrintQueue
进行打印。
使用System.Printing
实现文档打印:现在,让我们通过以下示例来演示如何使用System.Printing
打印文档的过程:
以下是源代码:
using System;
using System.IO;
using System.Printing;
class Program
{
static void Main(string[] args)
{
// Specify the path to the document to be printed on the local printer
string documentPath = "path/to/your/document.pdf";
// Instantiate a Printer Server object representing the local print server
using (PrintServer printServer = new PrintServer())
{
// Get the default PrintQueue from the PrintServer default
PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;
// Create a PrintTicket object to specify print settings (optional)
PrintTicket printTicket = new PrintTicket();
// Configure print settings, e.g., number of copies, paper size, orientation
printTicket.CopyCount = 1;
// Print the document to the default PrintQueue with the specified PrintTicket
defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
}
Console.WriteLine("Document sent to print queue.");
}
}
using System;
using System.IO;
using System.Printing;
class Program
{
static void Main(string[] args)
{
// Specify the path to the document to be printed on the local printer
string documentPath = "path/to/your/document.pdf";
// Instantiate a Printer Server object representing the local print server
using (PrintServer printServer = new PrintServer())
{
// Get the default PrintQueue from the PrintServer default
PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;
// Create a PrintTicket object to specify print settings (optional)
PrintTicket printTicket = new PrintTicket();
// Configure print settings, e.g., number of copies, paper size, orientation
printTicket.CopyCount = 1;
// Print the document to the default PrintQueue with the specified PrintTicket
defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
}
Console.WriteLine("Document sent to print queue.");
}
}
Imports System
Imports System.IO
Imports System.Printing
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Specify the path to the document to be printed on the local printer
Dim documentPath As String = "path/to/your/document.pdf"
' Instantiate a Printer Server object representing the local print server
Using printServer As New PrintServer()
' Get the default PrintQueue from the PrintServer default
Dim defaultPrintQueue As PrintQueue = printServer.DefaultPrintQueue
' Create a PrintTicket object to specify print settings (optional)
Dim printTicket As New PrintTicket()
' Configure print settings, e.g., number of copies, paper size, orientation
printTicket.CopyCount = 1
' Print the document to the default PrintQueue with the specified PrintTicket
defaultPrintQueue.AddJob("MyPrintJob", documentPath, False, printTicket)
End Using
Console.WriteLine("Document sent to print queue.")
End Sub
End Class
System.Printing
此表格概述了IronPrint和System.Printing
的功能和特性,帮助开发人员根据其特定需求和平台目标做出明智的决策。
在 Visual Studio 中创建一个控制台应用程序,如下所示。
提供项目名称和地点。
选择 .NET 版本。
现在项目已经创建完成,可以进行进一步的编码。
如下图所示,从 Visual Studio 软件包管理器安装 IronPrint。
也可使用以下命令安装 IronPrint:
Install-Package IronPrint
要使用 IronPrint 列出打印机名称,请使用下面的代码:
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Get printer names using printer drivers
List<string> printersName = Printer.GetPrinterNames();
foreach (var printer in printersName)
{
Console.WriteLine(printer);
}
}
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Get printer names using printer drivers
List<string> printersName = Printer.GetPrinterNames();
foreach (var printer in printersName)
{
Console.WriteLine(printer);
}
}
}
Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Get printer names using printer drivers
Dim printersName As List(Of String) = Printer.GetPrinterNames()
For Each printer In printersName
Console.WriteLine(printer)
Next printer
End Sub
End Class
End Namespace
使用Printer.GetPrinterNames
获取所有可用的打印机驱动程序。
Console.WriteLine
打印名称。使用下面的代码静音打印文档:
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Print the document silently
Printer.Print("sample.pdf");
}
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Print the document silently
Printer.Print("sample.pdf");
}
}
Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Print the document silently
Printer.Print("sample.pdf")
End Sub
End Class
End Namespace
执行后,文件将添加到打印队列,如输出所示。
使用下面的代码打印带有对话框的文档:
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Print with Dialog
Printer.ShowPrintDialog("sample.pdf");
}
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Print with Dialog
Printer.ShowPrintDialog("sample.pdf");
}
}
Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Print with Dialog
Printer.ShowPrintDialog("sample.pdf")
End Sub
End Class
End Namespace
使用ShowPrintDialog
从IronPrint中,我们可以通过对话框进行打印
IronPrint 支持使用高级设置打印文档。 它支持以下属性:
PaperSize
:指定打印机使用的纸张尺寸。
PaperOrientation
:定义纸张的方向,例如自动、纵向或横向。
DPI
:设置所需的打印分辨率,以每英寸点数为单位。 默认值为 300,通常用于商业印刷。 实际 DPI 可能会受到打印机性能的限制。
NumberOfCopies
: 表示要打印的文档的相同副本的数量。
PrinterName
:指定用于打印任务的打印机名称。
PaperMargins
:确定打印的页边距,以毫米为单位。
Grayscale
:一个布尔值,用于确定是否以灰度打印。 默认为 false。
现在我们来看一个代码示例:
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Configure custom print setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the required document
Printer.Print("sample.pdf", printSettings);
}
}
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Configure custom print setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the required document
Printer.Print("sample.pdf", printSettings);
}
}
Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Configure custom print setting
Dim printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the required document
Printer.Print("sample.pdf", printSettings)
End Sub
End Class
End Namespace
代码首先要导入必要的命名空间 IronPrint,该命名空间大概包含打印所需的类和方法。
在IronPrintDemo
命名空间内部,有一个名为Program的类被声明为公共。
Main 方法是程序的入口。
在主方法中:
一个名为printSettings
的PrintSettings
对象被实例化以配置自定义打印设置。
printSettings
的Dpi属性设置为150,表示每英寸150点的打印分辨率。
printSettings
的NumberOfCopies
属性被设置为2,指定将打印出该文档的两份相同副本。
printSettings
的PaperOrientation
属性设置为PaperOrientation.Portrait
,表示文档将以纵向页面方向打印。printSettings
(自定义打印设置)。 这种方法大概是使用指定的设置来处理打印过程。IronPrint 来自 Iron Software 是一个企业库,需要许可证才能运行。 添加 IronPrint 许可证密钥可使项目不受任何限制或水印而生效。 在此处购买许可证或注册以获取免费30天试用密钥在此处。
获得许可证密钥后,需要将密钥放入应用程序的 appSettings.json 文件中
{
"IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}
这将无限制和无水印地打印文件。
总之,IronPrint 和 System.Printing
各有其优势,适用于不同的场景。 IronPrint 提供了一个专注于简便性和多功能性的精简跨平台解决方案,而 System.Printing
提供了本地集成和细粒度控制,尤其适用于基于 Windows 的应用程序。 开发人员在为其 C# 项目选择这些打印库时,应考虑其具体要求和平台目标。
IronPrint for .NET 通过提供用户友好的 API 和跨各种平台和项目类型的广泛兼容性,简化了 .NET 应用程序中的文档打印。按照本文概述的步骤,您可以将打印功能无缝集成到您的 .NET 项目中,从而提高项目的可用性和生产力。 探索 IronPrint 的可能性,在您的应用程序中开启一个高效文档打印的世界。