推荐一款 .NET 中读取电子发票 PDF 文件的组件

作者:vkvi 来源:ITPOW(原创) 日期:2021-9-6

读取 PDF 文件的组件很多,准备拿来读取电子发票中的内容,起初也没在意,随便选了一款,后来发现,各组件差异还挺大。

PdfSharp

读出来中文是乱码,放弃。

PDFBox

有些出运行时错误,说认不到编码;有些能够读取(含中文),读出来一个单元格一个,且不是按顺序来的。读个字符串,还要写很长一串代码。

iText

有些文件读不全,同样顺序也是乱的。

FreeSpire.PDF

Spire.PDF 是收费的,FreeSpire.PDF 是免费的,据说只能处理 5 页以下的 PDF,但对电子发票来说够了。

能正常读、格式和看到的一致(从左至右、从上到下)、代码简洁。

PdfDocument doc = new PdfDocument("D:\\itpow.pdf");
foreach (PdfPageBase page in doc.Pages)
{
	_text.Text += page.ExtractText() + "<br>";
}

不过各个电子发票的格式还是不一样的,比如有的使用全角冒号,有的使用半角冒号,有的冒号后面有个空格,有的使用全角括号,有的使用半角括号,有的将 2 个标题列在 1 行等等,需要做兼容识别。

FreeSpire.PDF 可直接在 NuGet 中添加,命名空间为:Spire.Pdf

其系列产品还有:FreeSpire.Doc、FreeSpire.XLS、FreeSpire.Office、FreeSpire.PDFViewer、FreeSpire.Presentation、FreeSpire.DocViewer。

Aspose.PDF

没试了,而且这款也是收费的,最低 $999。

相关文章