PDF 변환 파이프라인이 wkhtmltopdf로 돌아가고 있고, 지금까지는 잘 작동했습니다 — 프로젝트가 아카이브되기 전까지는 말이죠. 저장소는 2023년 1월 2일부로 읽기 전용으로 전환되어 더 이상 보안 패치가 나오지 않으며, 내부에 탑재된 오래된 WebKit 엔진은 최신 CSS(플렉스박스, 그리드, 커스텀 속성)를 예측할 수 없게 렌더링합니다. 이제 보고서 레이아웃이 어긋나거나, 프로덕션 서버에서 더 이상 관리되지 않는 바이너리를 계속 사용할 명분이 없다면 지원되는 대체재가 필요합니다. Windows에서 그 대체재가 바로 Total HTML Converter X입니다.
빠른 답변: 단순한 정적 HTML이라면 wkhtmltopdf도 여전히 작동하고 비용도 무료입니다. 다만 프로젝트 자체가 아카이브되어 보안 패치가 더 이상 제공되지 않으며, 최신 CSS는 예측할 수 없게 렌더링됩니다. Windows 서버에서 유지보수되는 프로덕션 환경을 원한다면 Total HTML Converter X는 최신 CSS 렌더링, 실시간 URL 및 파일을 PDF·DOC·TIFF·JPEG로 변환하는 기능, 조용히 실행되는 명령줄, ASP·PHP·.NET에서 호출 가능한 COM/ActiveX API를 제공합니다.
| Total HTML Converter X | wkhtmltopdf | |
|---|---|---|
| 유지보수 여부 | 예 — 지속적으로 업데이트되는 상용 제품 | 아니오 — 저장소가 2023년 1월 2일부터 아카이브되어 읽기 전용 |
| 렌더링 엔진 | CSS 1/2를 완전히 지원하는 최신 엔진, 페이지 나누기, 폭 맞춤 기능, 그리고 선택 가능한 Chrome 렌더링 엔진까지 제공 | 오래된 WebKit 빌드이며, 최신 CSS(플렉스박스, 그리드)가 잘못 렌더링되는 경우가 많고 더 이상 수정되지 않음 |
| JavaScript 처리 | 가능 — Chrome 렌더링 엔진을 통해 지원 (-engine chrome) | 고정된 WebKit 엔진 범위로 제한됨 |
| 입력 소스 | 로컬 HTML/MHT 파일과 실시간 URL을 일괄 처리 가능 | 로컬 파일과 URL |
| 출력 형식 | PDF, DOC, RTF, XLS, TIFF, JPG, PNG, TXT | PDF와 이미지(PNG, JPG)만 가능 |
| 명령줄 | 가능 — 조용히 실행되는 바이너리, GUI·대화상자·팝업 없음 | 가능 — 명령줄 도구 |
| 서버 API | ASP, PHP, .NET, Python, Ruby, Java에서 호출 가능한 ActiveX/COM | 커뮤니티가 관리하는 서드파티 언어 바인딩과 래퍼 |
| PDF 보안 | 디지털 서명(X.509 PFX), AES 암호화, 비밀번호, 권한 플래그 | 기본 수준; 서명 기능 없음 |
| 라이선스 | 상용, $750부터 시작하는 일회성 라이선스, 30일 무료 체험판 | 무료, 오픈소스 |
| 운영체제 | Windows 7/8/10/11 및 Windows Server(IIS, Docker, Citrix, Wine) | Windows, Linux, macOS |
| 지원 | CoolUtils의 개발자 지원 | 커뮤니티 지원만 가능; 프로젝트 아카이브됨 |
공정하게 평가하자면, wkhtmltopdf는 그럴 자격이 있습니다. 무료 오픈소스이고, 명령 하나로 실행되며, 셸 명령을 호출할 수 있는 어떤 언어에서도 깔끔하게 스크립팅됩니다. 지난 10년간 "이 HTML을 서버에서 PDF로 렌더링하라"는 질문에 대한 기본 답이었고, 설치 기반도 방대합니다 — 수많은 청구서 발행, 보고서 생성, 내보내기 파이프라인이 지금도 매일 이 도구를 호출합니다. 표 하나, 스타일이 적용된 영수증, 평범한 보고서처럼 단순하고 정적인 HTML이라면 지금도 비용 없이 훌륭한 PDF를 만들어 냅니다.
템플릿이 단순하고 더 이상 바뀌지 않으며, 아카이브된 바이너리를 계속 실행해도 괜찮다면 wkhtmltopdf는 고장 난 것이 아닙니다. 문제는 개발이 멈춘 뒤에 바뀐 모든 것들입니다: 새로워진 CSS, 새로워진 TLS, 높아진 보안 기준.
Windows 서버라면 Total HTML Converter X가 가장 가까운 대체재입니다: 이미 스크립트로 작성해 둔 명령줄 워크플로를 그대로 유지하면서, 유지보수되는 렌더링 엔진을 더하고 출력 범위를 PDF 너머로 확장합니다. CLI 호출 하나를 다른 CLI 호출로 바꾸는 것만으로 서명, 암호화, 추가 형식까지 얻는 셈입니다. Linux나 macOS에서 운영 중이라면 Total HTML Converter X는 도움이 되지 않습니다 — Windows 전용이기 때문입니다 — 이 경우 유지보수되는 대안은 헤드리스 Chrome이나 Chromium을 직접, 또는 래퍼를 통해 사용하는 것입니다.
방법은 두 가지입니다: 명령줄 바이너리를 셸로 호출하거나, ActiveX/COM 객체를 프로세스 내에서 직접 호출하는 것입니다. 셸 호출은 wkhtmltopdf 파이프라인에서 가장 적은 변경만으로 전환할 수 있는 방법입니다 — 실행 파일과 스위치 구문만 바꾸면 됩니다:
<?php
// Convert a local HTML file to PDF from PHP on Windows
exec('HtmlConverter.exe C:\www\invoice.html C:\pdf\invoice.pdf -c pdf -log C:\log\html.txt');
?>
-c pdf 스위치는 대상 형식을 지정합니다; 여러 파일을 하나의 PDF로 합치려면 -combine을 추가하고, 결과물에 서명하려면 -pfxfile과 -pfxpass를 사용하세요. 바이너리가 조용히 실행되므로 어떤 대화상자도 웹 요청을 막지 않습니다. 클래식 ASP나 .NET에서는 대신 번들로 제공되는 ActiveX/COM 객체를 생성해, 페이지마다 자식 프로세스를 실행하지 않고도 동일한 변환을 프로세스 내에서 수행할 수 있습니다.
가능합니다 — 파일 경로 대신 변환기에 URL을 지정하면 실시간 페이지를 가져와 렌더링합니다:
HtmlConverter.exe http://www.example.com C:\pdf\page.pdf -c pdf -log C:\log\html.txt
이것이 wkhtmltopdf의 URL to PDF 호출을 그대로 대체하는 방법입니다. 같은 패턴으로 이미지도 만들 수 있습니다 — PDF 대신 페이지를 래스터화하려면 -c jpg나 -c tiff를 사용하세요. 와일드카드 마스크나 -list 텍스트 파일을 사용하면 명령 하나로 URL이나 로컬 파일 전체를 일괄 처리할 수 있습니다.
Total HTML Converter X는 서버 단위로 라이선스가 부여되며 $750부터 시작하고, 30일 체험판은 제한 없이 완전한 기능으로 제공됩니다 — 현재 파이프라인에서 가장 렌더링이 어긋나는 페이지로 직접 실행해 PDF를 나란히 비교해 보세요. 같은 엔진은 일회성 작업에 GUI가 필요할 때를 위한 데스크톱 버전 Total HTML Converter로도 제공됩니다.
무료 평가판을 다운로드하고 몇 분 만에 파일을 변환하세요.
신용카드나 이메일이 필요하지 않습니다.