【C#】強大的 .NET PDF處理神器:PDFSharp
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
前言PDFSharp是一款開源的.NET庫,專為處理PDF文檔而設(shè)計。它以其豐富的功能和易用性贏得了廣大開發(fā)者的青睞。無論是創(chuàng)建、編輯、合并、拆分還是轉(zhuǎn)換PDF文件,PDFSharp都能輕松應(yīng)對。 正文 目前.NET 平臺常見的PDF類庫
有一說一都挺好用的,個人特別喜歡 QuestPDF它基于 C# Fluent API 提供全面的布局引擎;但是這些庫要么屬于商業(yè)庫價格不菲(能理解收費),但是年費太貴了。 要么是有條件限制開源的,如Spire開源版本有各種限制。iTextSharp雖然沒有限制,但是開源協(xié)議不友好(AGPL),用于閉源商業(yè)軟件屬于要掛恥辱柱的行為了。無意間發(fā)現(xiàn)了另一款基于.NET 6 的跨平臺、免費開源(MIT協(xié)議)pdf處理庫。 PDFSharp:https://docs.pdfsharp.net/,該庫還有基于.NET Framework的版本 https://pdfsharp.net/ 。.NET 6 版本是去年剛發(fā)布的,一個較為活躍的社區(qū) https://forum.pdfsharp.net/。 嘗試使用了下,還不錯,該有的都有,簡單的pdf文件可以直接使用PDFSharp庫生成,復(fù)雜點的則提供了MigraDoc來編輯。 自己的小應(yīng)用都已經(jīng)上生成環(huán)境了,覺得該庫是挺ok的了。 主要功能 1、創(chuàng)建PDF:無需預(yù)先存在的模板,PDFSharp允許您直接從頭開始構(gòu)建PDF文檔。 2、內(nèi)容插入:支持在PDF頁面中添加文本、圖像、表格、圖形等豐富元素。 3、格式化:提供字體選擇、顏色設(shè)定、布局調(diào)整等樣式控制功能,幫助您創(chuàng)建高度定制化的PDF文檔。 4、合并與拆分:能夠?qū)⒍鄠€PDF文檔合并成一個,或?qū)⒁粋€PDF文檔拆分成多個部分。 5、加密與解密:對PDF文件進行安全設(shè)置,保護文檔內(nèi)容不被非法訪問。 優(yōu)勢特點 簡單易用:PDFSharp提供簡潔的API,使開發(fā)人員能夠快速上手并輕松創(chuàng)建和處理PDF文檔。 全面功能:支持各種PDF操作,包括創(chuàng)建、編輯、合并、拆分、轉(zhuǎn)換和加密等,滿足不同的需求。 PDFSharp廣泛應(yīng)用于各種場景,如生成報告、創(chuàng)建電子書、生成發(fā)票和合同等。無論是個人用戶還是企業(yè)用戶,都能從中受益。 PDFSharp文檔 .NET Framework 文檔站點下有很多例子大家可以看看 ![]() ![]() 我的使用方式較為粗暴,使用MigraDoc編輯文檔表格,再生成PDF文件。有時間再嘗試封裝個類似于QuestPDF的擴展庫,太喜歡Fluent這種形式了。 代碼示例 讓我們來制作下圖的PDF ![]() 新建一個項目,通過Nuget引入PDFsharp、PDFsharp-MigraDoc, 若用System.Drawing圖形庫則不用引用SkiaSharp,我的例子使用SkiaSharp圖形庫便于跨平臺。 首先是字體的導(dǎo)入 因為PDFSharp本身不支持中文字體,但提供了自定義解析器的處理,所以我們先實現(xiàn)下中文字體解析器。 先將黑體作為嵌入資源導(dǎo)入項目中,路徑是/Fonts/下 新建一個文件ChineseFontResolver.cs用來實現(xiàn)我們的中文解析器 好了,開始制作我們的pdf吧
至此我們就制作好了一個簡單的pdf,當然了這里沒有加上文件信息那些,僅僅是生成內(nèi)容罷了,有那些需要的可以自己根據(jù)文檔站點看看如何設(shè)置。 源碼地址 gitee.com/huangguishen/MyFile/tree/master/PDFSharpDemo
- EOF - 該文章在 2024/5/27 16:29:02 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |