一个PDF处理利器的.Net开源项目

在项目开发中,处理PDF文件是一个非常常见的需求,之前也推荐几个,今天继续给大家推荐一个强大且易于使用的开源库,专门用于处理PDF文件,它提供了一系列功能强大的工具,帮助开发人员轻松地解析、修改和创建PDF文件。

01 项目简介

PdfPig是一个基于.NET开发的开源项目,是一个强大PDF处理库,核心功能有:

1、支持提取PDF文档的文字的位置和大小,从而能够获取文档的文本;

2、支持从PDF文档搜索图片;

3、支持读取PDF注释、PDF表单、嵌入的文档和超链接;

4、支持对PDF文档元数据的访问;

5、支持PDF文件创建,以及PDF写入;

6、支持通过密码访问加密文件的内容;

7、文档布局分析:还提供了文档布局分析工具,如Recursive XY Cut、Document Spectrum和Nearest Neighbour算法等。它还支持将页面内容导出为Alto、PageXML和hOcr格式;

8、不直接支持表格,但可以使用Tabula Sharp或Camelot Sharp进行操作。

02 使用方法

1、写入PDF

复制代码
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.Core;
using UglyToad.PdfPig.Writer;

PdfDocumentBuilder builder = new PdfDocumentBuilder();
PdfPageBuilder page = builder.AddPage(PageSize.A4);


// 读取宋体字体文件到字节数组  
byte[] simSunFontBytes;
using (FileStream fontFileStream = File.OpenRead("C:\\Windows\\Fonts\\STSONG.TTF"))
{
    simSunFontBytes = new byte[fontFileStream.Length];
    fontFileStream.Read(simSunFontBytes, 0, simSunFontBytes.Length);
}
// 添加支持中文的字体  
PdfDocumentBuilder.AddedFont font = builder.AddTrueTypeFont(simSunFontBytes);

//写入
page.AddText("你好,这是一个PDF文档。", 12, new PdfPoint(25, 520), font);
byte[] b = builder.Build();

// 将PDF数据写入到文件中  
File.WriteAllBytes("output.pdf", b);

效果如下:

2、读取PDF

复制代码
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;

using (PdfDocument document = PdfDocument.Open(@"output.pdf"))
{
    foreach (Page page in document.GetPages())
    {
        IEnumerable<Word> words = page.GetWords();
        foreach(Word word in words)
        {
            Console.WriteLine(word.Text);
        }
    }
}

效果如下:

03 项目地址

https://github.com/UglyToad/PdfPig

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

我是编程乐趣,一个.Net开发经验老程序员,欢迎"关注"我,每天为你分享开源项目和编程知识。

也欢迎加入【.Net技术编程交流社区】,和大家共同学习交流!,点击加入https://bbs.csdn.net/topics/613465368

  • End -
相关推荐
假装我不帅4 小时前
wsl+vscode开发.net项目
ide·vscode·.net
偶尔的鼠标人7 小时前
Avalonia DataGrid 控件的LostFocus事件会多次触发
开发语言·c#
ytttr8737 小时前
C# 仿QQ聊天功能实现 (SQL Server数据库)
数据库·oracle·c#
future_studio9 小时前
聊聊 Unity(小白专享、C# 小程序 之 图片播放器)
unity·小程序·c#
2501_9293826510 小时前
MobiOffice解锁高级功能版 v15.9.57971 安卓手机doc, docx ppt, .pptx pdf办公软件
智能手机·pdf·powerpoint·wps
c#上位机15 小时前
wpf中Grid的MouseDown 事件无法触发的原因
c#·wpf
CodeCraft Studio16 小时前
国产化PDF处理控件Spire.PDF教程:如何在 C# 中从 HTML 和 PDF 模板生成 PDF
pdf·c#·html·.net·spire.pdf·pdf文档开发·html创建模板pdf
ysdysyn18 小时前
.NET 10深度解析:性能革新与开发生态的全新篇章
c#·.net
L X..20 小时前
Unity 光照贴图异常修复笔记
unity·c#·游戏引擎
reasonsummer1 天前
【办公类-115-06】20250920职称资料上传04——docx复制、docx转PDF(课程表11个)
开发语言·windows·python·c#