PDFBox 2.0.7 ExtractText no funciona pero 1.8.13 sí funciona y PDFReader también

ojalá tengas una idea de lo que está mal al extraer un texto de PDF usando pdfbox 2.0.7. El resultado es muy extraño:

Usando 1.8.13, el comandojava -jar pdfbox-app-1.8.13.jar ExtractText -sort -nonSeq test.pdf lleva a

Deutsche Bank Privat- und Geschäftskunden AG

Bruttoertrag 43,80 USD 37,15 EUR
Kapitalertragsteuer (KESt) - 5,36 USD - 4,55 EUR
Solidaritätszuschlag auf KESt - 0,29 USD - 0,25 EUR
Umrechnungskurs USD zu EUR 1,1791000000
Gutschrift mit Wert 15.08.2017 32,35 EUR

Usando 2.0.7, el comandojava -jar pdfbox-app-2.0.7.jar ExtractText -sort test.pdf lleva a

aeutsche Bank mrivat- und deschäftskunden Ad

Bruttoertrag QPIUM rpa PTINR bro
hapitaäertragsteuer EhbptF - RIPS rpa - QIRR bro
poäidaritätszuschäag auf hbpt - MIOV rpa - MIOR bro
rmrechnungskurs rpa zu bro NINTVNMMMMMM
dutschrift mit tert NRKMUKOMNT POIPR bro

El depurador conjava -jar pdfbox-app-2.0.7.jar PDFDebugger test.pdf muestra el texto correcto enRoot/Pages/Kids/[1]/Contents/[1] así que de alguna manera el texto se lee correctamente pero no se exporta correctamente.

He tratado de comparar la información que se muestra en las dos aplicaciones PDFDebugger, pero me parecen bastante idénticas (aunque no sé dónde / qué buscar exactamente). Lamentablemente, no puedo compartir el documento PDF.

Me encantaría cualquier tipo de pista sobre cómo resolver o incluso atacar este problema, ya que de lo contrario no puedo usar la versión más reciente de pdfbox. ¡Gracias de antemano por tu tiempo!

Aquí hay una captura de pantalla de la Fuente que se usa en el documento (extraída con 2.0.7). Esta es exactamente la traducción de las letras que aparentemente no se realiza:

La entrada ToUnicode dice

%!PS-Adobe-3.0 Resource-CMap
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (Adobe)
/Ordering (UCS)
/Supplement 0
>> def
/CMapName /AdHoc-UCS def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
68 beginbfchar
<0004> <0021>
<0009> <0026>
<000b> <0028>
<000c> <0029>
<000f> <002c>
<0010> <002d>
<0011> <002e>
<0012> <002f>
<0013> <0030>
<0014> <0031>
<0015> <0032>
<0016> <0033>
<0017> <0034>
<0018> <0035>
<0019> <0036>
<001a> <0037>
<001b> <0038>
<001c> <0039>
<001d> <003a>
<001e> <003b>
<0024> <0041>
<0025> <0042>
<0026> <0043>
<0027> <0044>
<0028> <0045>
<0029> <0046>
<002a> <0047>
<002b> <0048>
<002c> <0049>
<002e> <004b>
<0030> <004d>
<0031> <004e>
<0032> <004f>
<0033> <0050>
<0034> <0051>
<0035> <0052>
<0036> <0053>
<0037> <0054>
<0038> <0055>
<0039> <0056>
<003a> <0057>
<003d> <005a>
<0044> <0061>
<0045> <0062>
<0046> <0063>
<0047> <0064>
<0048> <0065>
<0049> <0066>
<004a> <0067>
<004b> <0068>
<004c> <0069>
<004d> <006a>
<004e> <006b>
<004f> <006c>
<0050> <006d>
<0051> <006e>
<0052> <006f>
<0053> <0070>
<0055> <0072>
<0056> <0073>
<0057> <0074>
<0058> <0075>
<0059> <0076>
<005a> <0077>
<005d> <007a>
<006c> <00e4>
<0081> <00fc>
<0089> <00df>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end

El TextView de la página 2 de PDF ya muestra el texto correcto, pero de alguna manera estas tablas de reemplazo que se muestran arriba parecen modificar incorrectamente el contenido del texto antes de que sea exportado por pdfbox:

Root/Pages/Kids/[1]/Contents/[1]:
=================================
0 Tw
0 Tc
0 0 0 rg
0 0 0 RG
BT
  /F1 10 Tf
  1 0 0 1 69.449 697.11 Tm
  (Wir) Tj
  1 0 0 1 87.199 697.11 Tm
  (\374berweisen) Tj
  1 0 0 1 141.099 697.11 Tm
  (den) Tj
  1 0 0 1 160.549 697.11 Tm
  (Betrag) Tj
  1 0 0 1 192.759 697.11 Tm
  (von) Tj
  1 0 0 1 211.649 697.11 Tm
  (32,35) Tj
  1 0 0 1 239.429 697.11 Tm
  (EUR) Tj
  1 0 0 1 263.299 697.11 Tm
  (auf) Tj
  1 0 0 1 279.959 697.11 Tm
  (Ihr) Tj
  1 0 0 1 294.389 697.11 Tm
  (Konto) Tj
  1 0 0 1 323.269 697.11 Tm
  (XXXXXXX) Tj
  1 0 0 1 364.959 697.11 Tm
  (XX) Tj
  1 0 0 1 376.079 697.11 Tm
  (.) Tj
  0 G
  0 g
ET
69.449 669.448 m
69.449 669.698 l
549.921 669.698 l
549.921 669.448 l
549.921 669.198 l
69.449 669.198 l
h
f
0 0 0 rg
0 0 0 RG
BT
  /F1 6 Tf
  1 0 0 1 249.022 658.948 Tm
  (Kapitalertr\344ge) Tj
  1 0 0 1 288.016 658.948 Tm
  (sind) Tj
  1 0 0 1 300.682 658.948 Tm
  (einkommensteuerpflichtig!) Tj
  1 0 0 1 213.865 652.783 Tm
  (Diese) Tj
  1 0 0 1 230.863 652.783 Tm
  (Mitteilung) Tj
  1 0 0 1 258.187 652.783 Tm
  (wurde) Tj
  1 0 0 1 276.187 652.783 Tm
  (maschinell) Tj
  1 0 0 1 306.187 652.783 Tm
  (erstellt) Tj
  1 0 0 1 325.507 652.783 Tm
  (und) Tj
  1 0 0 1 337.177 652.783 Tm
  (wird) Tj
  1 0 0 1 349.837 652.783 Tm
  (nicht) Tj
  1 0 0 1 364.165 652.783 Tm
  (unterschrieben.) Tj
  0 G
  0 g
ET
q
  1 0 0 1 504.562 772.646 cm
  1 0 0 1 0 0 cm
  q
    0 Tw
    0 Tc
    45.36 0 0 45.36 0 0 cm
    /I0 Do
  Q
Q
0 0 0 rg
0 0 0 RG
BT
  /F1 10.5 Tf
  1 0 0 1 552.756 23.464 Tm
  (2) Tj
  1 0 0 1 558.594 23.464 Tm
  (/) Tj
  1 0 0 1 561.503 23.464 Tm
  (2) Tj
ET
Q
q
0 0 m
0 841.89 l
595.276 841.89 l
595.276 0 l
h
0 0 m
595.276 0 l
595.276 841.89 l
0 841.89 l
h
W
n
Q

1.8.13 muestra:

Wir überweisen den Betrag von 32,35 EUR auf Ihr Konto XXXXXXX XX.
Kapitalerträge sind einkommensteuerpflichtig!
Diese Mitteilung wurde maschinell erstellt und wird nicht unterschrieben.
2/2

2.0.7 muestra:

tir überweisen den Betrag von POIPR bro auf fhr honto XXXXXXX XX
hapitaäerträge sind einkommensteuerpfäichtig!
aiese jitteiäung wurde maschineää ersteäät und wird nicht unterschriebenK
O/O

Este es el archivo que estaba solicitando:https://wetransfer.com/downloads/214674449c23713ee481c5a8f529418320170827201941/b2bea6

Respuestas a la pregunta(1)

Su respuesta a la pregunta