簡體   English   中英

PDFClown中的空白轉換

[英]Empty whitespace conversion in PDFClown

在PDFClown中使用TextExtractor類時遇到問題,出現空白也稱為“自由換行符”。 這些字符被隨機嵌入,但在Acrobat Reader中被忽略。 因此,如果我在TextExtractor.ToString(...)中將'\\n'指定為換行符,則這些字符所在的行在Acrobat中將顯示為單行,但在提取文本時會分成多行。

看來,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周,因為所有這些問題都是在中途發現的,因此需要完全重寫。 只是抬頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM