.NET框架下C#實現(xiàn)全環(huán)境打印PDF的完整教學(xué)
在企業(yè)級應(yīng)用與桌面開發(fā)中,PDF打印是高頻核心需求。.NET框架針對不同系統(tǒng)環(huán)境(Windows、Linux、Mac)及版本(.NET Framework 4.0/4.8、.NETStandard2.0、 .NET9.0、 .NET 10.0)提供了多樣化的PDF打印實現(xiàn)方案,兼顧兼容性與穩(wěn)定性。本文將分場景詳解各環(huán)境下的PDF打印方法,助力開發(fā)者快速落地需求。
一、.NET Framework(4.0/4.8)框架Windows環(huán)境PDF打印
.NET Framework 4.0與4.8,框架作為Windows平臺經(jīng)典框架版本,依托系統(tǒng)原生組件與第三方庫Spire.PDF可實現(xiàn)高效PDF打印,適配大多數(shù)桌面與服務(wù)器場景。
Spire.PDF支持以下高級打印設(shè)置
- 指定打印機名稱
- 設(shè)置打印頁面范圍
- 調(diào)整打印份數(shù)
- 啟用雙面打印
- 黑白(灰度)打印
- 靜默打?。[藏對話框和進(jìn)程)
- 將不同頁面打印到不同紙盒
- 每張紙上打印多頁
安裝
Install-Package Spire.PDF

C#打印PDF 文檔代碼塊
using Spire.Pdf;
namespace PrintWithDefaultPrinter
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建一個 PdfDocument 對象
PdfDocument doc = new PdfDocument();
//加載一個 PDF 文件
doc.LoadFromFile("C:/Users/Administrator/Desktop/Input.pdf");
//指定打印機名稱
doc.PrintSettings.PrinterName = "您的打印機名稱";
//打印第1至第5頁
doc.PrintSettings.SelectPageRange(1, 5);
//設(shè)置打印份數(shù)
doc.PrintSettings.Copies = 2;
//設(shè)置灰度打印
doc.PrintSettings.Color = false;
//每張紙打印多頁
doc.PrintSettings.SelectMultiPageLayout(2, 2);
//執(zhí)行打印
doc.Print();
//清理資源
doc.Dispose();
}
}
}二、.NET 10.0框架Windows、Linux 和 macOS 環(huán)境跨平臺實現(xiàn)PDF打印
Spire.Printing是一款面向現(xiàn)代 .NET 應(yīng)用的 跨平臺打印庫,支持在 Windows、Linux 和 macOS 平臺上,通過 C# 實現(xiàn) PDF文檔的自動化打印。你將了解如何構(gòu)建可打印的文檔流、以代碼方式選擇打印機,并配置高級打印參數(shù),從而在現(xiàn)代 .NET 10.0 應(yīng)用中實現(xiàn)穩(wěn)定、可控的跨平臺打印方案。

安裝
Install-Package Spire.Printing Install-Package Spire.PDFfor.NETStandard
.NET10.0 跨平臺打印PDF
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);
//創(chuàng)建 PrintDocument
PrintDocument printPdf = new PrintDocument(pdfStream);
//選擇打印頁碼范圍
printPdf.PrintSettings.SelectPageRange(1, 1);
//設(shè)置打印份數(shù)
printPdf.PrintSettings.Copies = 2;
//執(zhí)行打印
printPdf.Print();
// 釋放資源
printPdf.Dispose();
}三、總結(jié)
.NET框架不同版本與系統(tǒng)環(huán)境下的PDF打印方案各有側(cè)重:.NET Framework 4.0/4.8 Windows環(huán)境適合依賴原生組件或傳統(tǒng)第三方庫Spire.PDF的場景;.NET 10.0 Windows、Linux、Mac環(huán)境需依托跨平臺Spire.Printing,適配系統(tǒng)特性。您可以根據(jù)項目框架版本、部署環(huán)境、功能需求選擇合適方案,同時注重兼容性測試與權(quán)限配置,確保打印功能穩(wěn)定落地。
到此這篇關(guān)于.NET框架下C#實現(xiàn)全環(huán)境打印PDF的完整教學(xué)的文章就介紹到這了,更多相關(guān)C#打印PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WPF使用內(nèi)置資源系統(tǒng)實現(xiàn)應(yīng)用程序國際化
本文詳細(xì)介紹了如何利用WPF內(nèi)置資源系統(tǒng)實現(xiàn)應(yīng)用程序的國際化和本地化,涵蓋創(chuàng)建多語言資源字典、實現(xiàn)資源管理以及動態(tài)綁定資源等內(nèi)容,幫助開發(fā)者輕松為WPF應(yīng)用程序添加多語言支持,需要的朋友可以參考下2026-05-05
C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量三
C#語言類型系統(tǒng)提出的一個核心概念裝箱(boxing)拆箱(unboxing)。裝箱和取消裝箱的概念是C#的類型系統(tǒng)的核心。它在“值類型”和“引用類型”之間的架起了一座橋梁,使得任何“值類型”的值都可以轉(zhuǎn)換為object類型的值,反過來轉(zhuǎn)換也可以。2015-10-10
Winform項目中使用FastReport.Net報表控件
這篇文章介紹了Winform項目中使用FastReport.Net報表控件的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06

