Pdf.js: getTextContent () рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЗрдЯрдо рдХреА рдКрдВрдЪрд╛рдИ рдЧрд▓рдд рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдЕрдкреНрд░реИрд▓ 2017  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mozilla/pdf.js

рдкреАрдбреАрдПрдлрдЬреЗрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг: 1.7.290
рдиреЛрдбрдЬреЗрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг: v6.9.3
рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ: test.pdf

TL; DR : textContent.height рдкреНрд░рджрд╛рди рдХреА рдЧрдИ PDF рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ, рдПрдХ рдЕрдорд╛рдиреНрдп PDF рдлрд╝рд╛рдЗрд▓ рд╣реИ рдпрд╛ рдпрджрд┐ рдпрд╣ рдЗрдЪреНрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред

рдХреБрдЫ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрд▓рдЧреНрди рдлрд╛рдЗрд▓ рджреЗрдЦреЗрдВ) рдЯреЗрдХреНрд╕реНрдЯ рд╕рд╛рдордЧреНрд░реА рдЖрдЗрдЯрдо 'рдКрдВрдЪрд╛рдИ' рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдорд╛рди рд░рдЦрддреЗ рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреЛ рд╢реАрд░реНрд╖-рджрд╛рдПрдВ рд▓реЛрдЧреЛ рдХреЗ рдареАрдХ рдиреАрдЪреЗ 'рдЙрд╡ рд░реАрдХреЗрдирд┐рдВрдЧ' рдЯреЗрдХреНрд╕реНрдЯ рд╣реИ:

{
  "str": "Uw rekening",
  "dir": "ltr",
  "width": 98.928,
  "height": 0.54,
  "transform": [
    18,
    0,
    0,
    18,
    441.81,
    708.4499999999999
  ],
  "fontName": "g_d9_f21"
}

рдпрд╣рд╛рдВ 'рдКрдВрдЪрд╛рдИ' рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп 0.54 рд╣реИ, рдЬрдмрдХрд┐ Math.sqrt(t[2]*t[2] + t[3]*t[3]) = 18 рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред
рд░реЗрдВрдбрд░ рдХрд┐рдП рдЧрдП PDF рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп, рд╣рдо рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдЯреЗрдХреНрд╕реНрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 18px рдЙрдЪреНрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдкреАрдбреАрдПрдлрдЬреЗрдПрд╕ рд╕реНрд░реЛрдд рдореЗрдВ рдкреАрдЫреЗ рдХреА рдУрд░ рдХреЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рдореБрдЭреЗ рдпрд╣реА рдорд┐рд▓рд╛:

flushTextContentItem() рдореЗрдВ, рдКрдВрдЪрд╛рдИ 18 рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ textContentItem.textAdvanceScale рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рдВрд▓рдЧреНрди рдкреАрдбреАрдПрдл рдХреЗ рд▓рд┐рдП 0.03 рдХрд╛ рдорд╛рди рд╣реИред

рдпрджрд┐ рд╣рдо ensureTextContentItem() рдХреЛ рджреЗрдЦреЗрдВ, рддреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ textAdvanceScale рдХреА рдЧрдгрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:

textAdvanceScale = Math.sqrt(ctm[0]*ctm[0] + ctm[1]+ctm[1]) * Math.sqrt(tlm[0]*tlm[0] + tml[1]*tlm[1])

рдЬрд╣рд╛рдВ ctm рдХрдВрдЯреЗрдВрдЯ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ, рдФрд░ tlm рдЯреЗрдХреНрд╕реНрдЯ рд▓рд╛рдЗрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИред

рдЯреЗрдХреНрд╕реНрдЯ рд▓рд╛рдЗрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдареАрдХ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди (рдЗрд╕ рдкреАрдбреАрдПрдл рдЙрджрд╛рд╣рд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ), рд╕реАрдЯреАрдПрдо рдмрд╣реБрдд рд╣реА рдЕрд╕рдВрднрд╡ рд▓рдЧрддрд╛ рд╣реИ:

[
  0.03,
  0,
  0,
  0.03,
  0,
  0
]

рдЖрдЦрд┐рд░рдХрд╛рд░ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ cm рдСрдкрд░реЗрдЯрд░ рдХрд╛ рд╕рд╛рдордирд╛ args [0.03, 0, 0, 0.03, 0, 0] рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рддрдм preprocessCommand() рдореЗрдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ stateManager.transform(args) рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ ctm тАЛтАЛрдХреЛ [0.03, 0, 0, 0.03, 0, 0] рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдореЗрд░рд╛ рдбреАрдмрдЧрд░ рддреМрд▓рд┐рдпрд╛ рдореЗрдВ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ 57k рдПрд▓рдУрд╕реА рдкреАрдбреАрдПрдлрдЬреЗрдПрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдкреАрдбреАрдПрдл рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

0.03 0 0 0.03 0 0 cm
BT
/F9 600.00 Tf
0.89 0.00 0.10 rg
14727 23615 TD
(Uw rekening) Tj
*snip*
ET Q

рддреЛ рд╣рд╛рдБ, рдЧреНрд░рд╛рдлрд┐рдХ рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рднрд╛рдЧ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдкреАрдбреАрдПрдл рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░рд╛ рдЬреНрдЮрд╛рди рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ 'рдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╕реНрдерд┐рддрд┐' рдЯреЗрдХреНрд╕реНрдЯ рдЖрдХрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИ рдпрд╛ рдирд╣реАрдВ?

рддреЛ, рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ: рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ, рдПрдХ рдЕрдорд╛рдиреНрдп рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╛ рдПрдХ рдЗрдЪреНрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдКрдВрдЪрд╛рдИ 0.54 рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЗрдЯрдо рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЗрдВрдбрд░ рдКрдВрдЪрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдореИрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдорд╛рди рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ 'рд╡рд╛рд╕реНрддрд╡рд┐рдХ' рдКрдВрдЪрд╛рдИ Math.sqrt(t[2]*t[2] + t[3]*t[3]) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА https://github.com/mozilla/pdf.js/commit/4537590033169915e68f6480e2463bc4b2175f78
рдЗрд╕ рдкреНрд░рддрд┐рдмрджреНрдз рдКрдВрдЪрд╛рдИ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рд▓рдВрдмрд╡рдд рдлреЛрдВрдЯ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯрдПрдбрд╡рд╛рдВрд╕рд╕реНрдХреЗрд▓ рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВ
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ #7879 . рд╕реЗ рдкреНрд░рддрд┐рдЧрдорди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

pdfjs-dist 1.8.412 . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣рд╛рдБ рд╡рд╣реА рдбреАрд▓

рд╣рд╛рдЗрдЯреНрд╕ рдмрд╣реБрдд рдЕрддрд┐рд░рдВрдЬрд┐рдд рд╣реИрдВ:

{ str: 'Y',
  dir: 'ltr',
  width: 4.335500000000001,
  height: 42.25,
  transform: [ 0, 6.5, -6.5, 0, 488.4, 611.8 ],
  fontName: 'Helvetica' }

6.5pt рдлрд╝реЙрдиреНрдЯ рдкрд░ рдПрдХрд▓ "Y" рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдКрдВрдЪрд╛рдИ рдореЗрдВ 6.5pt рдХреЗ рдХрд░реАрдм рд╣реЛрдЧрд╛, 6.5 рд╕реЗ рдЧреБрдгрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ 1.6.210 рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

pdfjs 1.9.646 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛

рдКрдБрдЪрд╛рдИ рдХреЛ рдЙрдирдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

{
  "initialized": false,
  "str": [],
  "width": 19.91999320925712,
  "height": 423.18367629061225,
  "vertical": false,
  "lastAdvanceWidth": 0.91875,
  "lastAdvanceHeight": 0,
  "textAdvanceScale": 20.57142864,
  "spaceWidth": 0.6,
  "fakeSpaceMin": 0.18,
  "fakeMultiSpaceMin": 0.8999999999999999,
  "fakeMultiSpaceMax": 2.4,
  "textRunBreakAllowed": false,
  "transform": [
    6.300000021,
    0,
    0,
    20.57142864,
    59.76000019919999,
    751.1999999999999
  ],
  "fontName": "Courier"
}

@LeonMelis @Saltallica @chadkirby рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк getTextContent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕ рд▓рд┐рдП рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд░рд╣реА рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред

@brendandahl рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореИрдВ рдХреБрдЫ рдЕрдиреБрдЪреНрдЫреЗрджреЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЖрдпрдд рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд▓рдХреНрд╖реНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реВрдВ, рдлрд┐рд░ рдЬрдм рдореБрдЭреЗ рд▓рдХреНрд╖реНрдп рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдкреГрд╖реНрда рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдПрдиреЛрдЯреЗрдЯ рдХрд░ рд╕рдХреВрдВред

рдореИрдВ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рдЖрдпрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдкрд╛рда рддрддреНрд╡реЛрдВ (рдЙрдиреНрд╣реЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рддреЗ рд╣реБрдП) рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЖрдпрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдЬреИрд╕реЗ рдЪрд╛рдбрдХрд┐рд░реНрдмреА рдХрд░рддрд╛ рд╣реИред

рдореИрдХ bla.pdf рдкрд░ рджреЗрдЦрд╛ рдЧрдпрд╛
рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 1.8.418 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдКрдВрдЪрд╛рдИ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдмрд╣реБрдд рдЕрддрд┐рд░рдВрдЬрд┐рдд рд╣реИрдВред рдореЗрд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ 20 рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ 144 рдХреА рдКрдВрдЪрд╛рдИ рдорд┐рд▓рддреА рд╣реИред рдлрд╝рдВрдХреНрд╢рди getTextContent рдЧрд▓рдд рдКрдВрдЪрд╛рдИ рдорд╛рди рджреЗрддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 1.6.210 рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди ?? @yurydelendik
рдЬрдм рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╢рдмреНрдж рдЦреЛрдЬ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рд╢рдмреНрдж рдЧрд▓рдд рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреА рдирдореВрдирд╛ рдлрд╝рд╛рдЗрд▓ рд╕рдВрд▓рдЧреНрди рдХреАред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ [email protected]

рдореИрдВ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдореИрдк рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЗрдЯрдо рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП getTextContent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЖрдпрд╛рдо рдФрд░ рд╕реНрдерд┐рддрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред

рдореЗрд░реЗ _own_ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ item.transform[3] рд▓рдЧрд╛рддрд╛рд░ рдореЗрд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

{
  height: 72.89999999999999, // Way off
  transform: [
    9, // This value is close
    0,
    0,
    8.1, // So is this value
    54,
    756.0884
  ],
  width: 10.008000000000001
}

1.10.97 рдореЗрдВ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдФрд░ рдЕрдиреНрдп рдХреА рддрд░рд╣ - рдореИрдВ PDF.js рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рдПрдХ рджрд░реНрд╢рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ - рд╕рдЯреАрдХ рдКрдВрдЪрд╛рдИ рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА... рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджреЗ рдкрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрджрд┐ рдпрд╣ 1.6.210 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП git bisect рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рд╣реИред рдЗрд╕рд╕реЗ рд╕рдорд╛рдзрд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ height: 195.4404 рдорд┐рд▓рддрд╛ рд╣реИ, рдпрд╣ рдХрд╣реАрдВ 12 рдФрд░ 15 рдХреЗ рдмреАрдЪ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред

рдореИрдВ рдПрдХ рдкреАрдбреАрдПрдл рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдлрдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рдкреАрдбреАрдПрдл рдХреЛ рдкреАрдбреАрдПрдлрдЬреЗ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдкреЗрдЬ рдФрд░ рд╡рд╛рдИ рд╕рдордиреНрд╡рдп рдХреЗ рд╕рд╛рде рдЦреЛрд▓рддрд╛ рд╣реВрдВред

рдореИрдВ pdfjs-dist: 1.9.638 2.0.943 рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реА, рдореИрдВрдиреЗ 1.6.210 рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реБрдЖред (рдпрд╣ рдПрдХ рджреЛрд╖рдкреВрд░реНрдг рдкреАрдбреАрдПрдл рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рд╕рднреА рдкреАрдбреАрдПрдл рдкрд╛рдардХреЛрдВ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдкреАрдбреАрдПрдлрдЬреЗ рд╕рд╣рд┐рдд рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ)ред

рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рд╢реАрд░реНрд╖ рд╕реНрдерд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ item.transform[5] + item.height рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

2008-005.рдкреАрдбреАрдПрдл

рдореБрдЭреЗ рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА https://github.com/mozilla/pdf.js/commit/4537590033169915e68f6480e2463bc4b2175f78
рдЗрд╕ рдкреНрд░рддрд┐рдмрджреНрдз рдКрдВрдЪрд╛рдИ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рд▓рдВрдмрд╡рдд рдлреЛрдВрдЯ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯрдПрдбрд╡рд╛рдВрд╕рд╕реНрдХреЗрд▓ рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВ
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

brandonros picture brandonros  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kleins05 picture kleins05  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

anggikolo11 picture anggikolo11  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dmisdm picture dmisdm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aaronshaf picture aaronshaf  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ