PDFBox 2.0: Невидимый текст из PDFTextStripper - PullRequest
0 голосов
/ 23 мая 2018

Пример файла здесь

Я думаю, что мне снова нужна помощь от мкл (в прикрепленном файле есть некоторые скрытые () символы, которые извлекает PDFTextStripper.теперь я не вижу, что делает его невидимым (например, смотрите значения в столбце 6 - все они заключены в квадратные скобки:

Publix Liquors 1 600 2,5 01.01.2014 31.12.2008 ($ 24 000,00) ($4 032,00) (28 032,00 долл. США) BayCare Health Systems 3 200 5 30.07.2004 (31 700 долл. США) (9 648,00 долл. США) (60 848,00 долл. США) (60 848,00 долл. США) Без изменения арендной платы до периода действия опциона 8/11/2018

..............

Не могли бы вы хотя бы указать, почему они скрыты в данном случае ? Заранее спасибо!

1 Ответ

0 голосов
/ 23 мая 2018

В этом случае вы имеете дело с фактической прозрачностью.

Скрытые скобки создаются блоками инструкций, подобных этому

q
/Alpha3 gs
0 0 0 rg
BT
0 Tr
/Font0 14.299999 Tf
1.0 0 0 -1.0 537.66486 195.42578 Tm
0 0 Td
<037F>
Tj
ET
Q 

Расширенное состояние графики Alpha3 inресурсы объявляются как

14 0 obj
<<
  /CA 0
  /ca 0
>>
endobj 

Таким образом, /Alpha3 gs устанавливает обводку и непрозрачность заливки равными 0, т. е. все, что рисуется с использованием заливки или обводки, полностью прозрачно.

В PDFBoxPDFTextStripper эти значения могут быть получены в processTextPosition из текущего графического состояния (getGraphicsState) как свойства getAlphaConstant и getNonStrokeAlphaConstant

...