Pdf.js: рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдЯрд╛рдЗрдореНрд╕ рдиреНрдпреВ рд░реЛрдорди PS

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдорд╛рд░реНрдЪ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mozilla/pdf.js

рдпрд╣рд╛рдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ (рдЕрдиреБрд╢рдВрд╕рд┐рдд) рдпрд╛ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ:
EMG8 -рдХреИрдореНрдмреНрд░рд┐рдЬ рдПрд╕реЗрдВрдЯреЗрд▓ рдЧреЛрд▓реНрдб рдореИрдереНрд╕ 8-рдмреА 117.pdf

рд╡рд┐рдиреНрдпрд╛рд╕:

  • рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЙрд╕рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг: рдХреНрд░реЛрдо 73
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЙрд╕рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг: * Macos 10.14.1 *
  • PDF.js рд╕рдВрд╕реНрдХрд░рдг: 2.2.91
  • рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ: рдирд╣реАрдВ

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:


  1. рдкреАрдбреАрдПрдл рдЦреЛрд▓реЗрдВ (рдЗрд╕рдХрд╛ рдПрдХ рдкреГрд╖реНрда рдПрдХ рдХрд┐рддрд╛рдм рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рдлреЛрдВрдЯ рджреЗрдЦреЗрдВ

image

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ? (рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЬреЛрдбрд╝реЗрдВ)
рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреАрдбреАрдПрдл рд░реАрдбрд░ рдкрд░ рдпрд╣ рдареАрдХ рд╣реИ:
image

рдХрд┐рд╕реА рджрд░реНрд╢рдХ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ (рдпрджрд┐ mozilla.github.io/pdf.js рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд╛рдЗрдЯ рдкрд░ рдпрд╛ Firefox/Chrome рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ):
рд╡рд░реНрддрдорд╛рди рдЬреАрдердм рдкреЗрдЬ рд╡реНрдпреВрдЕрд░: https://mozilla.github.io/pdf.js/web/viewer.html

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

рдХреЛрдИ рдХрдВрд╕реЛрд▓ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХреЛрдИ рдЕрдиреНрдп рджреГрд╢реНрдпрдорд╛рди рд╕рдВрдХреЗрдд рдЬреИрд╕реЗ рдЧреБрдо рд╕реАрдПрдордПрдкреА рд╣реИрдВред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рдореЗрдВ PDF рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреА рд╡реНрдпрд╛рдкрдХ рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреА

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

рдкреАрдбреАрдПрдл рдПрдХ рд╣реА рдлреЛрдВрдЯ рдХреЛ рдХрдИ рдмрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝реЙрдиреНрдЯ LULQLP+TimesLTStd-Roman рдХреЛ рдиреМ рдмрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╣реА FontDescriptor рдФрд░ рдПрдХ рд╣реА рдПрдореНрдмреЗрдбреЗрдб CFF рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред

core/evaluator.js рдореЗрдВ PartialEvaluator.prototype.preEvaluateFont() рдореЗрдВ рдПрдХ рдлрд╝реЙрдиреНрдЯ рд╣реИрд╢ рдЧрдгрдирд╛ рд╣реИред рдпрд╣ рд╣реИрд╢ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, ToUnicode рдФрд░ Width рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдкреАрдбреАрдПрдл рдореЗрдВ рдХреБрдЫ рдлреЛрдВрдЯ рд╕рдорд╛рди рд╣реИрд╢ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╕рдорд╛рди рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЪреМрдбрд╝рд╛рдИ рднреАред рдХреЗрд╡рд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ FirstChar рдФрд░ LastChar рднрд┐рдиреНрди рд╣реИрдВред рдЕрдЧрд░ рдлреЛрдВрдЯ рдХреЛ рд╕рдорд╛рди рд╣реИрд╢ рдХреЛрдб рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдлрд╝реЙрдиреНрдЯ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдУрдкрди рдЯрд╛рдЗрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯрд╛ рдкреАрдбреАрдПрдл рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ рдкреАрдбреАрдПрдл рд╕реЗ рджреЛ рдлреЛрдВрдЯ рд╣реИрдВ
рдореБрджреНрджрд╛10665_reduced.pdf

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

рдкреАрдбреАрдПрдл рдПрдХ рд╣реА рдлреЛрдВрдЯ рдХреЛ рдХрдИ рдмрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝реЙрдиреНрдЯ LULQLP+TimesLTStd-Roman рдХреЛ рдиреМ рдмрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╣реА FontDescriptor рдФрд░ рдПрдХ рд╣реА рдПрдореНрдмреЗрдбреЗрдб CFF рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред

core/evaluator.js рдореЗрдВ PartialEvaluator.prototype.preEvaluateFont() рдореЗрдВ рдПрдХ рдлрд╝реЙрдиреНрдЯ рд╣реИрд╢ рдЧрдгрдирд╛ рд╣реИред рдпрд╣ рд╣реИрд╢ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, ToUnicode рдФрд░ Width рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдкреАрдбреАрдПрдл рдореЗрдВ рдХреБрдЫ рдлреЛрдВрдЯ рд╕рдорд╛рди рд╣реИрд╢ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╕рдорд╛рди рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЪреМрдбрд╝рд╛рдИ рднреАред рдХреЗрд╡рд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ FirstChar рдФрд░ LastChar рднрд┐рдиреНрди рд╣реИрдВред рдЕрдЧрд░ рдлреЛрдВрдЯ рдХреЛ рд╕рдорд╛рди рд╣реИрд╢ рдХреЛрдб рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдлрд╝реЙрдиреНрдЯ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдУрдкрди рдЯрд╛рдЗрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯрд╛ рдкреАрдбреАрдПрдл рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ рдкреАрдбреАрдПрдл рд╕реЗ рджреЛ рдлреЛрдВрдЯ рд╣реИрдВ
рдореБрджреНрджрд╛10665_reduced.pdf

core/evaluator.js рдореЗрдВ PartialEvaluator.prototype.preEvaluateFont() рдореЗрдВ рдПрдХ рдлрд╝реЙрдиреНрдЯ рд╣реИрд╢ рдЧрдгрдирд╛ рд╣реИред рдпрд╣ рд╣реИрд╢ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, ToUnicode рдФрд░ Width рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдкреАрдбреАрдПрдл рдореЗрдВ рдХреБрдЫ рдлреЛрдВрдЯ рд╕рдорд╛рди рд╣реИрд╢ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╕рдорд╛рди рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЪреМрдбрд╝рд╛рдИ рднреАред рдХреЗрд╡рд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ FirstChar рдФрд░ LastChar рднрд┐рдиреНрди рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдзрдиреНрдпрд╡рд╛рдж; рдЗрд╕рдиреЗ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛!

рдЕрдЧрд░ рдлреЛрдВрдЯ рдХреЛ рд╕рдорд╛рди рд╣реИрд╢ рдХреЛрдб рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдлрд╝реЙрдиреНрдЯ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдУрдкрди рдЯрд╛рдЗрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

рдХреБрдЫ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЙрддреНрдкрдиреНрди рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдорд╛рди рдлреЛрдВрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ preEvaluateFont рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЗрд╡рд▓ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рд▓реЛрдб/рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдЗрд╕рд▓рд┐рдП loadFont hash es рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдЧрд╛, рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб/рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЧрдП рдлрд╝реЙрдиреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдкрд░ рдЯрд┐рдХрд╛ рд╣реИ рдХрд┐ hash es рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА/рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЙрд╕ рдХреЛрдб рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХреБрдЫ рдмрдЧ рд╣реИрдВред

рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИ рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

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

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

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

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

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

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

sujit-baniya picture sujit-baniya  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ