웹 애플리케이션이 서버에서 HTML 페이지를 PDF, DOC 또는 TIFF로 변환해야 합니다. 뻔한 선택지는 모두 고통스럽습니다. 헤드리스 브라우저는 RAM을 잡아먹고 부하 상태에서 자주 다운됩니다. 명령줄 프로세스는 시작이 느리고 모니터링이 까다롭습니다. 클라우드 API는 데이터를 외부로 유출하고 호출당 비용을 부과합니다.
Total HTML Converter X는 완전한 ActiveX / COM 인터페이스를 노출합니다. .NET, PHP, Python, ASP, VBScript 또는 COM을 지원하는 모든 런타임에서 객체를 한 번 생성하고 Convert()를 호출하면 출력 파일을 얻을 수 있습니다. 서브프로세스 생성, 브라우저 렌더링, 외부 API 호출이 필요 없습니다. 파일은 절대 서버를 벗어나지 않습니다.
Process.Start(), stdout 파싱, 좀비 프로세스가 없습니다.(30일 평가판 — 이메일 불필요)
서버 라이선스 $249.90부터
ActiveX는 Microsoft의 컴포넌트 모델입니다. 실제로는 Total HTML Converter X가 Windows에 COM 클래스(HTMLConverter.HTMLConverterX)를 등록하고, COM을 인식하는 모든 런타임이 이 클래스를 생성하고 호출할 수 있음을 의미합니다. REST API나 명령줄 프로세스를 호출하는 것이 아니라 — DLL을 애플리케이션에 로드하고 인프로세스 객체의 메서드를 호출하는 것입니다.
이는 세 가지 이유로 중요합니다:
COM을 지원하는 모든 언어가 작동합니다: .NET interop을 사용하는 C# 및 VB.NET, CoCreateInstance를 사용하는 C++, COM 클래스를 사용하는 PHP, pywin32를 사용하는 Python, Server.CreateObject를 사용하는 Classic ASP, VBScript, JScript/WSH, Delphi, PowerShell, win32ole을 사용하는 Ruby, winax를 사용하는 Node.js.
reg query HKCR\HTMLConverter.HTMLConverterX를 실행합니다. 키가 존재하면 COM 객체가 준비된 것입니다.Type.GetTypeFromProgID()를 사용합니다. PHP에서는 new COM("HTMLConverter.HTMLConverterX")를, Python에서는 win32com.client.Dispatch("HTMLConverter.HTMLConverterX")를 사용합니다.Convert(source, destination, options) 호출. 입력 HTML 경로, 출력 파일 경로, 그리고 -c PDF, -OwnerPassword secret, -Watermark CONFIDENTIAL 같은 플래그가 포함된 옵션 문자열을 전달합니다.C# / .NET
var conv = Activator.CreateInstance(
Type.GetTypeFromProgID("HTMLConverter.HTMLConverterX"));
conv.GetType().InvokeMember("Convert",
System.Reflection.BindingFlags.InvokeMethod, null, conv,
new object[] { @"C:\In\report.html", @"C:\Out\report.pdf",
"-c PDF -OwnerPassword s3cret -NoPrint" });
PHP
$c = new COM("HTMLConverter.HTMLConverterX");
$c->Convert(
"C:\\In\\report.html",
"C:\\Out\\report.pdf",
"-c PDF -Watermark DRAFT -log C:\\Logs\\html.log"
);
Python (pywin32)
import win32com.client
conv = win32com.client.Dispatch("HTMLConverter.HTMLConverterX")
conv.Convert(
r"C:\In\report.html",
r"C:\Out\report.pdf",
"-c PDF -OwnerPassword secret -NoPrint"
)
Classic ASP / VBScript
Set Conv = Server.CreateObject("HTMLConverter.HTMLConverterX")
Conv.Convert _
"C:\In\report.html", _
"C:\Out\report.pdf", _
"-c PDF -Watermark ""COMPANY CONFIDENTIAL"""
Set Conv = Nothing
Convert()의 세 번째 인수는 공백으로 구분된 플래그 문자열입니다. 핵심 플래그는 -c FORMAT입니다. 이 값을 바꾸면 출력이 바뀝니다:
| 플래그 | 출력 | 일반적인 용도 |
|---|---|---|
-c PDF | 아카이빙, 인쇄, 배포 | |
-c DOC / -c DOCX | Microsoft Word | 추가 편집, 협업 |
-c XLS | Excel | HTML에서 테이블 추출하여 분석 |
-c TIFF | 다중 페이지 TIFF | 팩스 시스템, 문서 이미징 파이프라인 |
-c JPEG | JPEG 이미지 | 썸네일, 임베디드 미리보기 |
-c RTF | Rich Text | DOCX 없이 Word 호환 편집 가능 출력 |
-c TXT | 일반 텍스트 | 텍스트 인덱싱, 검색 시스템 |
-c XHTML | XHTML | 정제된 HTML 출력 |
보안 및 레이아웃 플래그와 조합할 수 있습니다:
-OwnerPassword secret — PDF 소유자 비밀번호(권한 제어)-UserPassword open123 — PDF 열기 비밀번호-NoPrint / -NoCopy / -NoModify — PDF 권한 제한-Watermark "CONFIDENTIAL" — 모든 페이지에 워터마크 텍스트 삽입-PageSize A4 / Letter / Legal — 용지 크기-log C:\Logs\html.log — 모니터링을 위한 변환 로그 기록| 항목 | Total HTML Converter X (ActiveX) | 명령줄 | 헤드리스 브라우저 |
|---|---|---|---|
| 시작 비용 | 없음(인프로세스 DLL) | 호출마다 프로세스 생성 | 무거움 — 새 브라우저 인스턴스 |
| 메모리 사용량 | 작음 | 작음 | 큼(Chromium = 200MB 이상) |
| 동시성 | 프로세스별 스레드 안전 | 다중 프로세스 | 워커당 브라우저 하나 |
| 오류 처리 | 네이티브 언어 예외 | stdout/종료 코드 파싱 | JSON 프로토콜 파싱 |
| 출력 형식 | PDF, DOC, XLS, TIFF, JPEG, RTF, TXT, XHTML | 동일(같은 엔진) | 보통 PDF + PNG만 |
| 배포 | 단일 MSI 설치 | 단일 MSI 설치 | 브라우저 + 드라이버 + 샌드박스 |
| 네트워크 필요 | 아니오 | 아니오 | 아니오(설치 후) |
GUI 없음, 확인 대화상자 없음, "다른 이름으로 저장" 프롬프트 없음. 로그인한 사용자 없이 IIS 아래, Windows 서비스 내부 또는 예약된 작업에서 실행됩니다.
브라우저가 필요 없습니다. 변환기가 자체 코드로 HTML과 CSS를 파싱합니다. Chrome 업데이트가 파이프라인을 깨뜨리지 않고, 브라우저 프로필도, 드라이버 버전 불일치도 없습니다.
사용자별 또는 변환별 가격 책정과 달리 Total HTML Converter X는 서버당 라이선스입니다. 하나의 라이선스로 수천 명의 사용자에게 서비스를 제공합니다.
설치 프로그램에는 동작하는 ASP, PHP, C++ 샘플 프로젝트가 포함됩니다. Visual Studio, 원하는 IDE 또는 텍스트 편집기에서 열어 필요에 맞게 수정하세요.
워터마크 없음, 변환 횟수 제한 없음, 다운로드에 이메일 불필요. 프로토타입에 통합하여 작동을 확인한 후 라이선스를 구매하세요.
(30일 평가판 — 이메일 불필요)
서버 라이선스 $249.90부터
Windows 7/8/10/11 • Server 2012/2016/2019/2022
"워커당 2GB RAM을 소비하고 밤마다 다운되던 Puppeteer 파이프라인을 교체했습니다. ActiveX 호출은 기존 .NET 워커 서비스에 바로 맞아 들어갑니다 — 메서드 호출 한 번, 서브프로세스 없음, 재시작할 헤드리스 브라우저도 없습니다. 메모리 사용량이 평탄하게 유지됩니다. PDF 출력 품질도 Chromium에서 얻던 것보다 좋습니다. 특히 테이블이 있는 CSS에서 그렇습니다."
Daniel Park Senior Backend Engineer
"저희는 IIS 아래에서 PHP 결제 포털을 운영합니다. 인보이스가 HTML 템플릿으로 생성되고, 즉석에서 PDF로 변환되어 고객에게 이메일로 발송됩니다. COM 통합은 PHP 세 줄이면 됩니다. 클라우드 API도 없고, 서버에서 파일이 빠져나가지도 않습니다. $249.90 일회성 라이선스는 평가 중이던 문서당 API 대비 사용 첫 주 만에 비용을 회수했습니다."
Amira Hassan Web Applications Developer
"15년 이상 운영 중인 Classic ASP 애플리케이션과 통합했습니다. <code>Server.CreateObject("HTMLConverter.HTMLConverterX")</code>가 IIS에서 첫 시도에 작동했습니다. 32비트와 64비트 등록이 분리되어 있는 것이 좋았습니다 — 저는 32비트 빌드가 필요했거든요. VB6 전용 샘플이 좀 더 있으면 좋겠지만, ASP 샘플이 충분히 비슷해서 적용할 수 있었습니다."
Victor Rossi IT Integration Lead
CoCreateInstance 사용), PHP(COM 클래스 사용), Python(pywin32 사용), Classic ASP와 VBScript(Server.CreateObject 사용), JScript / WSH, Delphi, PowerShell, Ruby(win32ole 사용), Node.js(winax 또는 유사 바인딩 사용)가 모두 포함됩니다.Server.CreateObject를 통해 호출합니다. ASP.NET 애플리케이션은 COM 클래스를 직접 참조합니다. IIS 애플리케이션 풀 ID에는 소스 HTML 파일 읽기 권한, 출력 디렉터리 쓰기 권한, COM 레지스트리 하이브 읽기 권한이 필요합니다. Classic ASP에서 32비트 빌드를 설치한 경우 애플리케이션 풀에서 32비트 애플리케이션을 활성화하세요.Convert() 메서드가 COM 예외를 발생시키며, 이 예외는 사용 중인 언어에서 네이티브 예외로 표면화됩니다 — .NET에서는 COMException, PHP에서는 com_exception, Python에서는 pywintypes.com_error, VBScript에서는 런타임 오류입니다. 예외에는 HRESULT와 설명 메시지가 포함되어 로깅이나 복구가 가능합니다.Convert()에 전달되는 옵션 문자열의 일부로도 받아들여집니다. 예: Convert(src, dst, "-c PDF -Watermark DRAFT -OwnerPassword secret -NoPrint").windowsservercore 베이스 이미지에서 COM 등록이 작동하지만, 완전한 COM 지원이 없는 더 작은 nanoserver 이미지에서는 작동하지 않습니다. 30일 평가판을 사용하면 정확한 배포 대상을 쉽게 확인할 수 있습니다.Convert() 메서드는 소스로 로컬 파일 경로를 기대합니다. 라이브 URL을 처리해야 한다면, 애플리케이션에서 먼저 다운로드한 후(모든 HTTP 클라이언트 사용 가능) 임시 파일로 저장하고, 그 임시 경로를 변환기에 전달하세요.무료 평가판을 다운로드하고 몇 분 만에 파일을 변환하세요.
신용카드나 이메일이 필요하지 않습니다.