-
[html2pdf, Java] HTML을 PDF로 변환해주는 오픈소스공부/etc 2022. 10. 13. 18:21반응형
1. Flying Saucer
https://github.com/flyingsaucerproject/flyingsaucer
GitHub - flyingsaucerproject/flyingsaucer: XML/XHTML and CSS 2.1 renderer in pure Java
XML/XHTML and CSS 2.1 renderer in pure Java. Contribute to flyingsaucerproject/flyingsaucer development by creating an account on GitHub.
github.com
특징
- LGPL-2.1 이상의 라이센스를 사용한다.
- 2021년 10월부터 업데이트가 끊겼다.
- HTML → XHTML → PDF 순서로 변환을 해야한다.
장점
- LGPL 라이센스를 사용한다.
단점
- CSS 3.0부터 지원을 하지 않는다.
- html 코드를 제대로 작성하지 않으면 에러가 나온다. 그리고 DOCTYPE!도 에러가 나온다..;;
- 한글이 보이지 않는다. 그래서 한글이 보이게 하려면 따로 처리가 필요하다.
- 폰트를 적용하려면 직접 폰트 파일을 다운로드해서 적용해야한다.
- PDF로 변환하는데 대략 3초 ~ 5초 정도가 걸린다.
2. iText 7 Core, pdfHTML
The Leading PDF Library for Developers | iText
We have an active community of partners, customers, and contributors, that help us every day to improve our products, documentation and support. We see them as part of our iText family, and hope you will join our family too.
itextpdf.com
특징
- AGPL-3.0 라이센스를 준수하면 커뮤니티 버전을 사용할 수 있다.
- HTML→ PDF로 바로 변환이 가능하다.
- iText 7부터는 CSS 적용이 잘 된다.
장점
- 한글이 잘 보인다.
- 웹 폰트 사용시 적용이 잘 된다.
- pdf 변환이 flying saucer 보다 매우 빠르다.
단점
- 로컬에 저장한 이미지 파일을 html에 적용하는 경우 따로 처리가 필요해보인다. (웹 서버 주소로 경로 설정하면 문제 없음)
- AGPL-3.0 라이센스를 사용한다.
그런데 내가 코드 기여할 곳도 AGPL-3.0 라이센스를 사용하고 있어서 문제 없다.
개인 프로젝트를 진행한다면 iText 7을 사용하는 것이 정신건강에 좋다.
코드 사용은 아래 리포지토리에 나와있습니다.
https://github.com/70825/html2pdf
GitHub - 70825/html2pdf: Convert html to pdf
Convert html to pdf. Contribute to 70825/html2pdf development by creating an account on GitHub.
github.com
반응형'공부 > etc' 카테고리의 다른 글
[Selenium] AutoCloseable이 없는 이유 (2) 2023.02.19 powershell, bash gradlew 한글 깨짐 현상 수정 (1) 2022.10.19 [ChromeDriver] close(), quit() 차이 (2) 2022.10.03 [WebDriverManger] 웹 버전에 맞는 웹 드라이버를 자동 설치해주는 오픈소스 (0) 2022.10.03 [FE] 부트스트랩 없이 왼쪽으로 펼쳐지는 드롭다운 메뉴 만들기 (3) 2022.09.12