PDF.js 2.0.385 рдФрд░ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░, рдирд┐рдореНрди рд╕рд░рд▓рддрдо рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ:
pdf.getDocument({ data: arrayBufferData })
.then(() => console.log('Success'))
.catch() => console.log('Fail'));
рдЬрд╛рд╣рд┐рд░ рд╣реИ, Node.js рдкрд░ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред
рдЬреЗрд╕реНрдЯ рдореЗрдВ рдЙрд╕реА рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЪрд▓рд╛рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИ (рд╕рд░рд▓реАрдХреГрдд, рдХреГрдкрдпрд╛ рдЗрд╕ рддрдереНрдп рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдПрд╕рд┐рдВрдХреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП):
describe('Test', () => {
it('does something', () => {
pdf.getDocument({ data: arrayBufferData })
.then(() => console.log('Success'))
.catch() => console.log('Fail'));
});
}
testEnvironment
рдХреЛ "node"
рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИредtestEnvironment
рдХреЛ "jsdom"
(рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрднреА рднреА .then()
рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИредPDF.js 2.0.305 рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рдЬрдмрдХрд┐ #9385 рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, PDF.js рдФрд░ Jest/JSDom рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ PDF.js-рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реЛрдВрдЧреЗ ред testEnvironment
рд╕реЗ "node"
рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдкрд░ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ ISSUE_TEMPLATE.md рдФрд░ CONTRIBUTING.md рджреЛрдиреЛрдВ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реНрдг, рдФрд░ рдЫреЛрдЯреЗ, рдЪрд▓рд╛рдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдХреГрдкрдпрд╛ рдпрд╣ рди рдорд╛рдиреЗрдВ рдХрд┐ рд▓реЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдЬреЗрдПрд╕ рдврд╛рдВрдЪреЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рдЬреЗрд╕реНрдЯ"ред
рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрджрд░реНрдн рдпрд╛ рдХреЛрдб рдХреЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ:
рдХреНрдпрд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдкрдиреЗ workerSrc
рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╕рдХреНрд╖рдо рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП рд╣реИрдВ?
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП workerPort
рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ? рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдХрд┐рд╕реА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ getDocument
рдкрд░ рднреЗрдЬрдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рджреЗрдЦреЗрдВ https://github.com/mozilla/pdf.js/blob/0d391daccc2f4e4b9c91268e719bd10fe63a49ae/src/display/api.js#L129 -L130
рдореИрдВ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛! рдореЗрд░реЗ рдЬреИрд╕реЗ рдЕрдЯрдХреЗ рд╣реБрдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, pdfjs.GlobalWorkerOptions.workerSrc
рдпрд╛ pdfjs.GlobalWorkerOptions.workerPort
рд╕реЗрдЯ рди рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, pdf.worker.entry.js рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдмрд╕ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реЛ рдЧрдпрд╛!
рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ jsdom рдХреЗ рдмрдЬрд╛рдп рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕реНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо)
рдЗрд╕реЗ рдореЗрд░реА рдХрд▓реНрдкрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рд╣рд▓ рд╣реЛ рдЧрдпрд╛
/**
* @jest-environment node
*/
рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЬреЗрд╕реНрдЯ рдЯреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд╡реВ-рдХреНрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛! рдореЗрд░реЗ рдЬреИрд╕реЗ рдЕрдЯрдХреЗ рд╣реБрдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП,
pdfjs.GlobalWorkerOptions.workerSrc
рдпрд╛pdfjs.GlobalWorkerOptions.workerPort
рд╕реЗрдЯ рди рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, pdf.worker.entry.js рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдмрд╕ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реЛ рдЧрдпрд╛!