PDFClown中的空白空间转换

时间:2016-04-27 17:24:12

标签: pdf pdfclown

在PDFClown中使用TextExtractor类时遇到问题,出现空白空间也称为“自由新行”。这些字符随机嵌入,但在Acrobat Reader中被忽略。因此,存在这些字符的行将在Acrobat中显示为单行,但如果我在'\n'中将TextExtractor.ToString(...)指定为换行符,则在提取文本时将其分为多行。

看来PDF小丑只需要任何空白字符并将其转换为单个空格,或' '。有没有办法绕过这种转换,以便提取原始字符?

1 个答案:

答案 0 :(得分:1)

经过更多研究后,似乎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周,因为所有这些问题都被发现了一半,需要完全重写。只是一个抬头。