首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个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://page.om.qq.com/page/O5aeF2RVNlXl9fHJReAteBKw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券