JS 라이브러리인 PDF Kit을 이용해 회사에서 관리하는 수학문제들로 PDF를 뽑아내는 기능을 개발했다.

이틀정도 걸렸고, 내부에 들어가는 요소들을 마치 리액트 컴포넌트를 관리하듯이 PDF의 컴포넌트렌더링 시스템을 만들었다.

100문제에 대해서 문제와 해설을 서버를 모두 거쳐서 7초에 만들어내버리는 빠른 성능을 가지고있다.

image.png

image.png

사실 PDF 렌더링만 개발하는게 아니라 내부에 들어가는 이미지도 모두 pre-processing을 하기위해 LaTeX to Image 유틸리티도 구현했다.

그 유틸리티 내부적으로는 여러 알고리즘을 거쳐 LaTeX의 정해진 높이, 넓이에 맞춰 이미지를 Element단위로 적절한 높이를 이분탐색으로 계산해 뽑아내도록 작동한다.

Categories:

Updated:

Comments