在 .NET 生態中,如果你正在尋找一個輕量級、高性能且跨平臺的 PDF 處理庫,Docnet 是一個值得推薦的選擇。它封裝了 Google Chromium 使用的 PDF 渲染引擎 PDFium,提供了強大的 PDF 文檔讀取、解析、渲染等功能,并且完全支持 .NET Standard 2.0,適用于 Windows、Linux 和 macOS。下面我們來介紹下這個庫。
應用場景
? 將 PDF 頁面轉為圖像,用于預覽功能
? PDF 文本提取與 OCR 結合,構建文檔檢索系統
? 解析 PDF 表單或合同內容,用于自動化歸檔
? 將掃描圖片(JPEG)轉換為 PDF 進行存檔
核心功能一覽
頁面與文檔信息
? 獲取 PDF 版本
? 獲取頁面數量
? 獲取頁面寬高
? 獲取頁面旋轉角度
文本與結構提取
? 提取完整文本內容
? 獲取字符集合及其邊界框(bounding box)
? 獲取字符字體大小、角度
圖像渲染
? 將 PDF 頁面渲染為 PNG 圖像
? 支持字符邊框疊加顯示(用于調試或文本定位)
文檔操作
? 拆分 PDF 文檔
? 合并多個 PDF 文件
? 解鎖受密碼保護的 PDF 文件
? 將 JPEG 圖像轉換為 PDF 頁面
入門指南
通過 NuGet 安裝
dotnet add package Docnet.Core
1. 提取頁面文本
using Docnet.Core; usingvar docLib = DocLib.Instance; usingvar docReader = docLib.GetDocReader("alice-in-wonderland.pdf", new Docnet.Core.Models.PageDimensions() { }); usingvar pageReader = docReader.GetPageReader(0); string text = pageReader.GetText(); Console.WriteLine(text);
?
2. 渲染 PDF 頁面為圖像
using Docnet.Core; usingvar docLib = DocLib.Instance; usingvar docReader = docLib.GetDocReader( "alice-in-wonderland.pdf", new Docnet.Core.Models.PageDimensions(1080, 1920) ); usingvar pageReader = docReader.GetPageReader(0); int width = pageReader.GetPageWidth(); int height = pageReader.GetPageHeight(); var rawBytes = pageReader.GetImage();