glog : cupucharm

PDF.js 크롬/엣지 STATUS_BREAKPOINT 오류 본문

dev/solution

PDF.js 크롬/엣지 STATUS_BREAKPOINT 오류

오이호박참외 2024. 5. 16. 21:00

 

✅ PDF.js : 웹 표준 호환 HTML5 캔버스를 사용하여 PDF 파일을 렌더링 하는 자바스크립트 라이브러리

https://github.com/mozilla/pdf.js/releases

 

Releases · mozilla/pdf.js

PDF Reader in JavaScript. Contribute to mozilla/pdf.js development by creating an account on GitHub.

github.com

 

 

기존 3.2.146 버전에서 잘만 동작하던 pdf.js에서 인쇄 시 오류가 발생한다..

(mac을 사용하는 개발자 PC에서는 해당 오류가 발생되지 않았고, window환경에서 해당 오류가 주로 발생했다.)

STATUS_BREAKPOINT 오류

 

해당 오류는 크롬이나 엣지 브라우저에서 발생하는 STATUS_BREAKPOINT 오류로,

처음에는 개발한 프로그램과 무관한 브라우저 오류로 생각해서 캐시 삭제, 브라우저 업데이트 등으로 해결하고자 했다.

 

실제 일부 PC에서는 위와 같은 방법으로 정상 동작하는 경우가 다수 있었다.(크롬 브라우저는 대부분 해결)

그럼에도 오류가 발생하는 PC가 있어, 최대한의 조치로 pdf.js 라이브러리 버전을 변경해 보았다.

 

기존 3.2.146에서 4.0.379로 업데이트하여 테스트해 보니 오류가 발생하던 환경에서 정상동작하는 것을 확인했다.

혹시, 기존에 정상동작하던 PC에서는 오류가 나지 않을까 다시 한번 추가로 테스트를 진행했는데, 모두 정상동작한다 !!

 

PDF.js 버전 업데이트 하면서 UI상 변경된 부분이 있다.

PDF.js v3.2.146
PDF.js v4.0.379

인쇄버튼이 >> 버튼 속으로 들어갔다. 인쇄하기 번거로워 졌.. 나?

stable version이라고 하니 또 다른 오류는 없으면 좋겠다.

 

 

추가로, 기존 소스에 pdfjs-4.0.379를 적용하면서 새로운 확장자를 마주쳤다.

 

✅ .mjs 확장자 : ECMAScript 모듈(ESM) 사양을 준수하는 JavaScript 파일에 사용되는 확장자

ECMAScript모듈은 JavaScript 언어 표준의 일부고 모듈을 정의하는 보다 현대적이고 표준화된 방법을 제공한다고 한다.

 

javascript는 역사가 길기 때문에 과거 전통적인 방식에서 많이 발전했는데,

그 전통적인 방식인 .js에서 더 발전되어 더 현대적이고 더 효율적인 코드 작성이 가능한 표준들 중 하나가 .mjs라고 한다.

 

 

 

📎 참고 1: https://ko.wikipedia.org/wiki/PDF.js#cite_note-wikidata-2f56d890fee83bec826d5aee30f56016ef579c51-v3-2

📎 참고 2: https://www.inflearn.com/questions/999454/js-%EC%99%80-mjs