乐于分享
好东西不私藏

同样做 PDF 解析,这款.NET 库让处理速度直接飙升 80%

同样做 PDF 解析,这款.NET 库让处理速度直接飙升 80%

在日常的软件开发工作中,PDF 文档处理是极为常见的业务需求。无论是数据解析、文档整合、格式转换还是信息提取,开发者都需要一款稳定、高效且轻量化的工具库。
DocNet 是 GowenGit 推出的开源PDF 编辑与数据提取类库,以高性能、轻量、跨平台为核心优势,专为现代.NET 应用打造。其底层封装 Chromium 内置的PDFium C++ 引擎,遵循.NET Standard 2.0 规范,可无缝对接各类.NET 框架项目,兼容 Windows、Linux、macOS 三大主流系统。

核心功能清单

  • 1.文档信息读取:获取 PDF 版本、页数、页面尺寸
  • 2.文本与字符提取:抽取页面文本、字符信息、字符边界、字体大小、旋转角度
  • 3.页面渲染:将 PDF 页面转为图片(如 PNG)
  • 4.文档操作:PDF 分割、合并、解锁
  • 5.格式转换:JPEG 图片转 PDF 文档

平台适配与使用要点

    1.支持平台:Windows、Linux、macOS,可通过配置指定运行时(win-x64、win-x86、linux、osx)
    2.使用规范:DocLib.Instance 建议单例生命周期,随应用程序托管,销毁时释放PDFium 非托管资源
    3.Linux 环境提示:运行示例需安装 libgdiplus 依赖,适配System.Drawing.Common 组件
    快速开始
    1.安装NUGET包
    dotnet add package Docnet.Core
    1.简单示例,提取PDF文本
    using Docnet.Core;using Docnet.Core.Models;using var docReader = DocLib.Instance.GetDocReader("input.pdf"new PageDimensions(10801920));using var pageReader = docReader.GetPageReader(0);string text = pageReader.GetText();Console.WriteLine(text);
    2.获取PDF文本
    using var docReader = DocLib.Instance.GetDocReader("file.pdf"new PageDimensions(10801920));var pageCount = docReader.GetPageCount();      // 总页数var version = docReader.GetPdfVersion();       // PDF 版本
    for (int i = 0; i < docReader.GetPageCount(); i++){    using var pageReader = docReader.GetPageReader(i);    string text = pageReader.GetText();    Console.WriteLine($"第 {i + 1} 页: {text}");}
    3.图片转PDF
    var image = new JpegImage{    Bytes = File.ReadAllBytes("image.jpg"),    Width = 1920,    Height = 1080};var pdfBytes = DocLib.Instance.JpegToPdf(new[] { image });File.WriteAllBytes("output.pdf", pdfBytes);
    与其他库对比
    特性
    DocNET
    QuestPDF
    iText
    核心能力
    PDF 读取/编辑
    PDF 生成
    全功能
    性能
    极快
    中等
    较慢
    开源协议
    MIT
    MIT
    AGPL(商业需授权)
    总结:DocNet 作为轻量、跨平台、高性能的.NET PDF 处理库,依托 PDFium 引擎提供了稳定可靠的 PDF 处理能力,通过极简的 API 设计,让开发者无需深入底层即可快速实现 PDF 信息读取、文本提取、页面渲染、文档合并分割、图片转 PDF 等高频功能。

    相比于 iText、PdfSharp 等传统 PDF 处理库,DocNet 更加轻量、高效,且依托于 PDFium 渲染引擎,具有极强的解析与渲染能力。

    如果你只需要读取 PDF 内容、提取信息或进行渲染展示,而不需要复杂的表单构建或数字签名等高级功能,Docnet 将是你项目中处理 PDF 的不二选择。

    #DocNet#PDFium#PDF编辑#PDF提取#跨平台#Windows#Linux#macOS#PDF渲染#PDF合并#PDF分割#PDF解锁#图片转PDF#C#、#开源项目

    在评论区或者公众号留言关键字DocNet,即可获取完整源码地址。

    觉得有收获?不妨分享让更多人受益

    关注「DotNet源码学习营,共同提升技术实力

    END
    推荐阅读
    .NET+React 联合!eu.admin:可直接落地的管理系统底座
    开源工业上位机 WPF 工业协议调试工具,支持 Modbus、S7 和 OPC UA
    别再手写 CURD 了!这款小而美.NET + Vue3 后台,注释超 90%,开箱即用
    目前.NET有哪些好用的免费开源wms仓储管理软件?
    一款基于.NET 8.0 和 MAUI 框架开发的跨平台牙科治疗机物联网移动端应用
    一个开源、免费、跨平台的.NET库,专注于读取和写入Excel数据文件
    一款基于 .Net9 开源通用管理平台,支持模块化、Winforms、Wpf等界面形式
    基于 .NET 8 + DDD 搭建的模块化微服务框架、AI智能体集成的开源框架
    可能是最适合进行二次开发的.Net+Vue框架
    基于.NET 5.0和Quartz的定时调度任务+可视化UI管理
    6款在C# WinForm开发中备受关注的开源UI库
    C# WinForms 自适应缩放FormAutoSize通用类一键集成,告别重复编码
    C# 手把手教你实现软件注册码机制附加DEMO演示
    可直接落地!C# 软件授权系统开发:机器码 + 授权码 + 过期校验
    C#开发者的宝藏:不可错过的免费、开源现代化的WPFUI库
    .NET快速处理Word文档,比如自动生成报告、批量处理文档、格式化文档
    告别WinFormUI卡死与跨线程异常,90%的开发者都遇到过的问题
    使用 C# MiniWord .NET 高效导出打印模板
    如何为.NET桌面应用添加自动更新?HHAutoUpdate.NET给你答案
    本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 同样做 PDF 解析,这款.NET 库让处理速度直接飙升 80%

    猜你喜欢

    • 暂无文章