이번 프로젝트를 진행하면서 이력서를 작성하면 PDF로 저장할 수 있게 해주는 기능을 만들어야 했는데 원하는 PDF 저장이 되지 않아 문제점을 적어보았다.
방법 1
라이브러리를 사용하여 해결(html2canvas + jsPDF)
- 문제점 : 이미지화를 하여 pdf로 저장하는 방식이기 때문에 드래그가 안됨.(링크를 들어갈수가 없음.)
방법 2
window.print() 자바스크립트 메서드를 사용
브라우저 도구를 사용하여 pdf저장 기능을 구현
- 문제점
- 제어가 자유롭지 않음.
- id를 주어 돔 접근에는 성공하였으나 내용이 길어지면 페이지가 짤려서 나옴..
- 찾아본 바로는 직접 페이지를 잘라주는 위치를 지정 할 수 있으나 내용이 길어질 수록 자동으로 넘어가게 하는 것은 불가능
- onbeforeprint 로 돔 접근에 성공하여 출력에는 성공, 하지만 onafterprint 로직에서 원래대로 돔을 돌렸을 때 자바스크립트 이벤트가 먹통..
방법 3
script X를 사용 (?)
window.print()를 좀 더 커스텀해서 사용할 수 있는듯
- 하지만 기능적인 부분에서 무료로 제공하는 기능이 있고, 유로로 제공하는 기능이 있는 듯 하다.