Pdf.js: "GlobalWorkerOptions.workerSrc"κ°€ μ§€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2019λ…„ 01μ›” 21일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: mozilla/pdf.js

if (!fallbackWorkerSrc && λ¬Έμ„œ μœ ν˜• !== 'μ •μ˜λ˜μ§€ μ•ŠμŒ') {
var pdfjsFilePath = document.currentScript && document.currentScript.src;
if (pdfjsFilePath) {
fallbackWorkerSrc = pdfjsFilePath.replace(/(.(?:min.)?js)(?.*)?$/i, '.worker$1$2');
}
}
λ•Œλ•Œλ‘œ "document.currentScript" === null, pdfjsFilePath === null,

ν•¨μˆ˜ getWorkerSrc() {
if (_worker_options.GlobalWorkerOptions.workerSrc) {
λ°˜ν™˜ _worker_options.GlobalWorkerOptions.workerSrc;
}
if (fallbackWorkerSrc μœ ν˜• !== 'μ •μ˜λ˜μ§€ μ•ŠμŒ') {
fallbackWorkerSrc λ°˜ν™˜;
}
throw new Error('"GlobalWorkerOptions.workerSrc"κ°€ μ§€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.');
}
image

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‹€μŒμ„ μ‹œλ„ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  const pdfjs = await import('pdfjs-dist/build/pdf');
  const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry');

  pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;

  ...

λͺ¨λ“  4 λŒ“κΈ€

당신은 항상 μ„€μ •ν•˜μ—¬, λͺ…μ‹œ 적으둜 예λ₯Ό workerSrcλ₯Ό μ§€μ •ν•΄μ•Όν•©λ‹ˆλ‹€ pdfjsLib.GlobalWorkerOptions.workerSrc ν˜ΈμΆœν•˜κΈ° 전에 pdfjsLib.getDocument λŒ€μ²΄ λͺ¨λ“  μƒν™©μ—μ„œ μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•Šμ„ κ²½μš°μ—λ§Œ μ΅œμ„ μ˜ λ…Έλ ₯ μ†”λ£¨μ…˜μ΄κΈ° λ•Œλ¬Έμ—.

λ‹€μŒμ„ μ‹œλ„ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  const pdfjs = await import('pdfjs-dist/build/pdf');
  const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry');

  pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;

  ...

λ‹€μŒμ„ μ‹œλ„ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  const pdfjs = await import('pdfjs-dist/build/pdf');
  const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry');

  pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;

  ...

λ‚˜λŠ” 당신이 λ°˜μ‘μ—μ„œ μ€€ 아이디어λ₯Ό μ‚¬μš©ν•˜λŠ” 데 어렀움을 κ²ͺμ—ˆμŠ΅λ‹ˆλ‹€.
λ¬Έμ œλŠ” ꡬ성 μš”μ†Œκ°€ 마운트될 λ•Œ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
곡식 슀크립트λ₯Ό μ‚¬μš©ν•˜λ©΄ λͺ¨λ“  것이 μ •μƒμ΄μ§€λ§Œ pdfjs-dist μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

const pdfjsLib = window['pdfjs-dist/build/pdf
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';

그것에 λŒ€ν•œ μ–΄λ–€ 아이디어? 슀크립트λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

pdf.jsκ°€ κ³΅μ‹μ μœΌλ‘œ λ°˜μ‘μ„ μ§€μ›ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— pdf보닀 λ°˜μ‘ 좔상화λ₯Ό μ‚¬μš©ν•˜κ² μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰