在企业级应用与桌面开发中,PDF打印是高频核心需求。.NET框架针对不同系统环境(Windows、Linux、Mac)及版本(.NET Framework 4.0/4.8、.NETStandard2.0、 .NET9.0、 .NET 10.0)提供了多样化的PDF打印实现方案,兼顾兼容性与稳定性。本文将分场景详解各环境下的PDF打印方法,助力开发者快速落地需求。
一、.NET Framework(4.0/4.8)框架Windows环境PDF打印
.NET Framework 4.0与4.8,框架作为Windows平台经典框架版本,依托系统原生组件与第三方库Spire.PDF可实现高效PDF打印,适配大多数桌面与服务器场景。
Spire.PDF支持以下高级打印设置
- 指定打印机名称
- 设置打印页面范围
- 调整打印份数
- 启用双面打印
- 黑白(灰度)打印
- 静默打印(隐藏对话框和进程)
- 将不同页面打印到不同纸盒
- 每张纸上打印多页
安装
cs
Install-Package Spire.PDF

C#打印PDF 文档代码块
cs
using Spire.Pdf;
namespace PrintWithDefaultPrinter
{
class Program
{
static void Main(string[] args)
{
//创建一个 PdfDocument 对象
PdfDocument doc = new PdfDocument();
//加载一个 PDF 文件
doc.LoadFromFile("C:/Users/Administrator/Desktop/Input.pdf");
//指定打印机名称
doc.PrintSettings.PrinterName = "您的打印机名称";
//打印第1至第5页
doc.PrintSettings.SelectPageRange(1, 5);
//设置打印份数
doc.PrintSettings.Copies = 2;
//设置灰度打印
doc.PrintSettings.Color = false;
//每张纸打印多页
doc.PrintSettings.SelectMultiPageLayout(2, 2);
//执行打印
doc.Print();
//清理资源
doc.Dispose();
}
}
}
二、.NET 10.0框架Windows、Linux 和 macOS 环境跨平台实现PDF打印
Spire.Printing是一款面向现代 .NET 应用的 跨平台打印库,支持在 Windows、Linux 和 macOS 平台上,通过 C# 实现 PDF文档的自动化打印。你将了解如何构建可打印的文档流、以代码方式选择打印机,并配置高级打印参数,从而在现代 .NET 10.0 应用中实现稳定、可控的跨平台打印方案。

安装
cs
Install-Package Spire.Printing
Install-Package Spire.PDFfor.NETStandard
.NET10.0 跨平台打印PDF
cs
using Spire.Pdf;
using Spire.Printing;
bool isWindows = System.Runtime.InteropServices.RuntimeInformation
.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows);
using (PdfDocument pdfDocument = new PdfDocument())
{
pdfDocument.LoadFromFile("test.pdf");
var fileFormat = !isWindows
? Spire.Pdf.FileFormat.PDF
: Spire.Pdf.FileFormat.XPS;
MemoryStream stream = new MemoryStream();
pdfDocument.SaveToStream(stream, fileFormat);
IPrintDocumentStream pdfStream = !isWindows
? new PdfPrintDocument(stream)
: new XpsPrintDocument(stream);
//创建 PrintDocument
PrintDocument printPdf = new PrintDocument(pdfStream);
//选择打印页码范围
printPdf.PrintSettings.SelectPageRange(1, 1);
//设置打印份数
printPdf.PrintSettings.Copies = 2;
//执行打印
printPdf.Print();
// 释放资源
printPdf.Dispose();
}
三、总结
.NET框架不同版本与系统环境下的PDF打印方案各有侧重:.NET Framework 4.0/4.8 Windows环境适合依赖原生组件或传统第三方库Spire.PDF的场景;.NET 10.0 Windows、Linux、Mac环境需依托跨平台Spire.Printing,适配系统特性。您可以根据项目框架版本、部署环境、功能需求选择合适方案,同时注重兼容性测试与权限配置,确保打印功能稳定落地。