在项目开发中,处理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文章来源:https://www.toymoban.com/news/detail-833181.html
- End -文章来源地址https://www.toymoban.com/news/detail-833181.html
到了这里,关于一个PDF处理利器的.Net开源项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!