Pdf.js: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜: ์ผ๋ถ€ ์ด๋ฒคํŠธ๊ฐ€ ๋“ฑ๋ก ์ทจ์†Œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 07์›” 05์ผ  ยท  9์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mozilla/pdf.js

๊ตฌ์„ฑ:

  • ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฐ ํ•ด๋‹น ๋ฒ„์ „: ๋ชจ๋“  ๋ฒ„์ „
  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „: ๋ชจ๋“  OS
  • PDF.js ๋ฒ„์ „: 2.2.222
  • ๋ธŒ๋ผ์šฐ์ € ํ™•์žฅ์ž: ์•„๋‹ˆ์š”(์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ํฌํ•จ๋œ PDF๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค)

https://github.com/stephanrauh/ngx-extended-pdf-viewer/issues/101 ์กฐ์‚ฌํ•˜๋Š” ๋™์•ˆ ๋“ฑ๋ก๋˜์—ˆ์ง€๋งŒ ๋“ฑ๋ก๋˜์ง€ ์•Š์€ ์„ธ ๊ฐ€์ง€ ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜์ธ ๊ฒƒ ๊ฐ™์•„์š”. ์ œ ๊ฒฝ์šฐ์—๋Š” PDF ๋ทฐ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€๋ฅผ ๋‚˜๊ฐ„ ํ›„ CTRL+P๋ฅผ ํ†ตํ•ด ์ธ์‡„ํ•˜๋ ค๊ณ  ํ•  ๋•Œ SPA์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด ์„ธ ๊ฐ€์ง€ ์ด๋ฒคํŠธ๋ฅผ PDFViewerApplication.unbindWindowEvents() ์— ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

1-viewer

๋ชจ๋“  9 ๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์ด ๋งž์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋ฐ˜๋“œ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์œˆ๋„์šฐ ์ด๋ฒคํŠธ์˜ ๋ฐ”์ธ๋”ฉ/๋ฐ”์ธ๋”ฉ ํ•ด์ œ๊ฐ€ ํ•œ ๊ณณ์—์„œ๋งŒ ์ด๋ฃจ์–ด์ง€๋„๋ก ์•ฝ๊ฐ„ ๋ฆฌํŒฉํ† ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ์ด์œ ๋Š” ๋ชจ๋ฅด์ง€๋งŒ ์ƒํ™ฉ์ด ๊ทธ๋ ‡๊ฒŒ ์‰ฝ์ง€๋Š” ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • keydown ๋ฆฌ์Šค๋„ˆ๋Š” PDF๊ฐ€ ์žˆ๋“  ์—†๋“  ๊ฐ„์— viewer.js ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋กœ๋“œ๋  ๋•Œ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.
  • ์ œ์•ˆํ•œ ๋Œ€๋กœ removeEventListener๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋†€๋ž๊ฒŒ๋„ CMD+P๋Š” ์•„๋ฌด ๊ฒƒ๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค("ํŽธ์ง‘" ๋ฉ”๋‰ด๋ฅผ ์ž ์‹œ ๊ฐ•์กฐ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ ์ œ์™ธ). ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์€ OSX ๋ฌธ์ œ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด ์ด๋ก ์€ "keydown" ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋ฉด ํ‘œ์ค€ ํ‚ค ๋ฐ”์ธ๋”ฉ์ด ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์‚ฌ์‹ค์ด๋ผ๋ฉด ๊ฐ„๋‹จํžˆ window.print() ๋‹ค์‹œ ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BTW, ์—ฌ๊ธฐ ๋‚ด ์†Œ์Šค ์ฝ”๋“œ ๋ณ€๊ฒฝ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค https://github.com/stephanrauh/ngx-extended-pdf-viewer/commit/6f47d1bd7f790fa47872c11031fefae4e24e283e#diff -ff2d4af1f0673e3ea448a4b444ece1da

๋‚ด ๋งˆ์ง€๋ง‰ ๊ฒŒ์‹œ๋ฌผ์€ ์žŠ์–ด๋ฒ„๋ฆฌ์„ธ์š”. ๋ชจ๋“  ๊ฒƒ์„ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. DOM์—์„œ pdf.js๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ํ‘œ์ค€ ๊ธฐ๋Šฅ์„ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์ œ ๋‚˜๋ฅผ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“  ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ถ€์ž‘์šฉ์ธ #10948๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

pull request #11380์—์„œ ๋“ฑ๋ก๋œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ 3๊ฐœ ์ค‘ 2๊ฐœ๋„ ์ด์ œ ์žฌ์„ค์ • ์‹œ ๋“ฑ๋ก ์ทจ์†Œ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ๋Š” print keydown ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋งŒ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

pull request #11380์—์„œ ๋“ฑ๋ก๋œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ 3๊ฐœ ์ค‘ 2๊ฐœ๋„ ์ด์ œ ์žฌ์„ค์ • ์‹œ ๋“ฑ๋ก ์ทจ์†Œ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ, ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ์ด๋ฒคํŠธ๋Š” PDFHistory ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋‹ค๋ฅธ ์ด์œ (์˜ˆ: ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์™€์˜ ์ผ๊ด€์„ฑ)๊ฐ€ ํ•ฉ๋ฆฌ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„์ ‘์ ์œผ๋กœ๋งŒ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‚˜๋Š” ๋งค์šฐ๋ฅผ ์œ„ํ•ด ๊ณ ์น˜์ง€ ์•Š์„ ๊ฒƒ (wontfix)์„ ์ œ์•ˆ ์œ ํ˜น ํ•  ๊ฒƒ์ด๋‹ค PDFPrintService ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๋ฅผ ๋“ค์–ด, ์ฝ”๋“œ :

  • ์ด ๋ฌธ์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์ด๋ฅผ ๋’ท๋ฐ›์นจํ•  ์ฆ๊ฑฐ๋Š” ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ ๋ทฐ์–ด๊ฐ€ ์‹ค์ œ๋กœ ์ง€์›ํ•˜๋Š” ์œ ์ผํ•œ ์ž„๋ฒ ๋”ฉ์€ <iframe> . ์—ฌ๊ธฐ์„œ ์ด๋Ÿฌํ•œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ๊ฒƒ์ด๋ผ๊ณ ๋Š” ์ƒ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.[1]
  • ์ด๊ฒƒ์€ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— FirefoxPrintService ์— ์ „ํ˜€ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ PDFPrintService ์—์„œ ์ด๊ฒƒ์„ "์ˆ˜์ •"ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋‹ค๋ฅธ PDFPrintServiceFactory ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ "๋ถˆ๊ท ํ˜•"์ด ๋ฉ๋‹ˆ๋‹ค.
  • ์ด ๋‹ค์ˆ˜์˜ window ์— ๋“ฑ๋ก ์ด๋ฒคํŠธ web/pdf_print_service.js , ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์ด ์ฒซ ๋ฒˆ์งธ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋˜๋Š” ๋ชจ๋“  ์ด๋ฒคํŠธ ๋ฐ / ๋˜๋Š”ํ•˜์ง€๋ฅผ ๋†“์น˜์ง€์— ๋ถ€ํ•˜์— ์ฆ‰์‹œ ๋“ฑ๋กํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ด๋Ÿฌํ•œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์€ ๋”ฐ๋ผ์„œ ๋‚˜์ค‘์— ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋™์ž‘์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[1] http://mozilla.github.io/pdf.js/getting_started/#introduction ์ฐธ๊ณ (๊ฐ•์กฐ ๊ด‘์‚ฐ):

๋ทฐ์–ด๋Š” ๋””์Šคํ”Œ๋ ˆ์ด ๋ ˆ์ด์–ด์— ๊ตฌ์ถ•๋˜๋ฉฐ Firefox์˜ PDF ๋ทฐ์–ด ๋ฐ ํ”„๋กœ์ ํŠธ ๋‚ด์˜ ๊ธฐํƒ€ ๋ธŒ๋ผ์šฐ์ € ํ™•์žฅ์„ ์œ„ํ•œ UI์ž…๋‹ˆ๋‹ค. ์ž์‹ ๋งŒ์˜ ๋ทฐ์–ด๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์ข‹์€ ์ถœ๋ฐœ์ ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ˆ˜์ •๋˜์ง€ ์•Š์€ ๋ฒ„์ „์ด ์•„๋‹ˆ๋ผ ๊ท€ํ•˜์˜ ์‚ฌ์ดํŠธ์— ๋ทฐ์–ด๋ฅผ ํฌํ•จํ•  ๊ณ„ํš์ธ์ง€ ๋ฌป์Šต๋‹ˆ๋‹ค.

@Snuffleupagus ๋‚˜๋Š” ๋‹น์‹ ์ด ngx-extended-pdf-viewer ํ”„๋กœ์ ํŠธ๋ฅผ ์Šน์ธํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ธ์ƒ์„ ํ”ผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€? ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ?

๊ธฐ๋ก์„ ์œ„ํ•ด: ngx-extended-pdf-viewer๋Š” pdf.js๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ pdf.js ํŒŒ์ผ์— 62๊ฐœ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŠนํžˆ iFrame ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ ๋น„๊ตํ•  ๋•Œ ๋งŽ์€ ์ถ”๊ฐ€ ๊ฐ€์น˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ œํ•œ๋œ ์Šคํ‚ค๋‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ณผ ์ˆ˜์žˆ๋Š” ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ์Šคํ‚ค๋‹(์˜ˆ: Material Design ๋ฐ Bootstrap4)์€ ์‚ฌ์šฉ์ž์˜ ์œ„์‹œ๋ฆฌ์ŠคํŠธ ์ƒ๋‹จ์— ์žˆ์œผ๋ฏ€๋กœ ๊ณง ์ œ๊ณต๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ฒƒ์„ ์ข…ํ•ฉํ•ด๋ณด๋ฉด, ๋‹น์‹ ์ด "๋ฆฌ์Šคํ‚จ ๋˜๋Š” ๋นŒ๋“œ"๋ฅผ ๋„ˆ๋ฌด ์ž์ฃผ ๊ฐ•์กฐํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ๋†€๋ž์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ngx-extended-pdf-viewer ํ”„๋กœ์ ํŠธ๋ฅผ ์Šน์ธํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ธ์ƒ์„ ํ”ผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์†”์งํžˆ ๋‚˜๋Š” "ngx-extended-pdf-viewer" ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋„ ๋ชจ๋ฅด๊ณ , ํฌ๋ฆฌ์Šค๋งˆ์Šค๊ฐ€ ์–ผ๋งˆ ๋‚จ์ง€ ์•Š์€ ์ง€๊ธˆ ๊ทธ๊ฒƒ์„ ์•Œ์•„๋‚ผ ์‹œ๊ฐ„์ด ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ„๋ช…ํžˆ ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ์˜๊ฒฌ์ด ์—†์Šต๋‹ˆ๋‹ค. :-)


์ผ๋ฐ˜์ ์œผ๋กœ ํŠน์ • ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š์Œ: ๊ธฐ๋ณธ ๋ทฐ์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด Firefox์˜ ๋‚ด์žฅ PDF ๋ทฐ์–ด๋กœ ์˜ค์ธ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ์šฉ์ž์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

@Snuffleupagus ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๊ฒƒ์€ ๋‚ด๊ฐ€ ์ผํ•  ์ˆ˜ ์žˆ๋Š” ์•„์ฃผ ์ข‹์€ ์ด์œ ์ž…๋‹ˆ๋‹ค. "๋‚ด" ๋‚ด์žฅ ๋ทฐ์–ด๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๊ฒŒ ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ „์ฒด ํŽ˜์ด์ง€ ๋ทฐ์–ด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅด๊ฒŒ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฌผ๋ก  ๋ฒ„๊ทธ ์ถ”์ ๊ธฐ์—์„œ ๋‚ด ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ์ œ์ถœํ•˜๊ณ  "Angular"๋ฅผ ์–ธ๊ธ‰ํ•˜๋ฉด โ€‹โ€‹์ €๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์•ˆ๋ถ€ ์ธ์‚ฌ, ๊ทธ๋ฆฌ๊ณ  ๋ฉ”๋ฆฌ ํฌ๋ฆฌ์Šค๋งˆ์Šค
์Šคํ…ŒํŒ

๋‹น์‹ ์˜ ์•„์ฃผ ์ข‹์€, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ๋กœ ๊ธฐ๋ณธ ๋ทฐ์–ด์˜ ์Šคํ‚จ์ด ์—†๋Š” ๋ณต์‚ฌ๋ณธ์„ ๋ณด๊ณ  ์žˆ์„ ๋•Œ ๊ณต์‹ ๋ทฐ์–ด๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์— ์ƒ๋Œ€์ ์œผ๋กœ ์ž์ฃผ ๋ณด๊ณ ๋˜๋Š” PDF.js์˜ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐฐํฌ ๋ฒ„๊ทธ๋ฅผ ๋ณด์•˜๊ธฐ ๋•Œ๋ฌธ์— ์Šคํ‚ค๋‹์„ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์ค„์„ ์–ธ๊ธ‰ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ์—๋Š” PDF.js๋ฅผ ํ™•์žฅํ•˜๋Š” ๊ฒƒ์ด ์‹ค์ œ๋กœ OK/๊ถŒ์žฅ๋จ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค!

PDF.js์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ์–ธ์ œ๋“ ์ง€ ๋ณด๊ณ ํ•ด ์ฃผ์‹ญ์‹œ์˜ค. ๊ท€ํ•˜์˜ ๋ฌธ์ œ/์˜๊ฒฌ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ผ๋ถ€ ๋ฌธ์ œ๋ฅผ ์ด๋ฏธ ์ˆ˜์ •ํ–ˆ์œผ๋ฏ€๋กœ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰