我TextExtractor
在 PDFClown 中使用该类时遇到问题,出现空白空格也称为“任意换行符”。这些字符是随机嵌入的,但在 Acrobat Reader 中会被忽略。因此,存在这些字符的行将在 Acrobat 中显示为单行,但如果我'\n'
在TextExtractor.ToString(...)
.
看来 PDF 小丑只是简单地接受任何空白字符并将其转换为单个空格,或' '
. 有没有办法绕过这种转换,而是提取原始字符?
经过更多研究,PDFClown 库似乎有很多错误。有几个问题:
要直接解决我遇到的问题,您可以通过检查它们的边界矩形以查看它们是否与其他非空白字符重叠来检测并删除这些“错误”空白字符,但考虑到库的所有其他问题,我的建议是使用改用 PDFBox。
如果您使用 .NET 并且想使用PDFBox,则可以使用Tika On Dot Net,这是通过 IKVM 引入 .NET的Apache Tika项目。
Apache Tika 是其他库的集合,包括 PDFBox。Tika On Dot Net 目前有 PDFBox 1.8.10,还有一个 Nuget 包,可以轻松添加到您的项目中。
我有一个项目比截止日期提前了 1.5 周,因为所有这些问题都是在中途发现的,需要完全重写。只是一个抬头。