Logo
Home Products Support Contact About Us

Convert HTML by ActiveX — Embed HTML Conversion Into Your Application

 

Your web application needs to turn an HTML page into a PDF, DOC, or TIFF on the server. The obvious options are painful: a headless browser eats RAM and crashes under load, a command-line process is slow to start and hard to monitor, a cloud API leaks your data and charges per call.

Total HTML Converter X exposes a full ActiveX / COM interface. Instantiate the object once from .NET, PHP, Python, ASP, VBScript, or any COM-capable runtime, call Convert(), get the output file. No subprocess spawning, no browser rendering, no external API. Files never leave your server.

What the ActiveX Interface Gives You

  • In-process conversion. The converter runs inside your application's process space. No Process.Start(), no stdout parsing, no zombie processes.
  • Multi-format output from one call. PDF, DOC, DOCX, XLS, TIFF, JPEG, RTF, TXT, XHTML, EMF — pass the format as a parameter.
  • Full CSS rendering. CSS 1 and CSS 2 styles, inline images, tables, and web fonts rendered by the converter's own engine — no browser dependency.
  • PDF security built in. Owner and user passwords, copy/print restrictions, watermarks, digital signatures — set as method parameters.
  • Error handling via HRESULT. COM exceptions surface as language-native errors (.NET exception, PHP COMException, Python win32 exception). No log parsing.
  • Single license, unlimited users. Install on one server, serve conversion to every user of your application.
Download Free Trial

(30-day trial — no email required)

Buy License

Server license starts at $249.90

What ActiveX / COM Actually Is

ActiveX is a Microsoft component model. In practical terms, it means Total HTML Converter X registers a COM class in Windows (HTMLConverter.HTMLConverterX) that any COM-aware runtime can instantiate and call. You are not calling a REST API or a command-line process — you are loading a DLL into your application and invoking methods on an in-process object.

This matters for three reasons:

  • Speed. No process startup, no IPC, no socket. The converter is a DLL loaded once.
  • Reliability. No orphaned processes, no PID files, no log scraping. If the call fails, your language throws an exception with an HRESULT.
  • Security. No files transmitted over the network. No shared temp directory. The conversion happens in memory or in your process's own working directory.

Any language that speaks COM works: C# and VB.NET via .NET interop, C++ via CoCreateInstance, PHP via the COM class, Python via pywin32, Classic ASP via Server.CreateObject, VBScript, JScript/WSH, Delphi, PowerShell, Ruby via win32ole, and Node.js via winax.

How to Integrate Total HTML Converter X

  • Step 1. Install Total HTML Converter X on the Windows machine where your application runs. The installer registers the COM class automatically.
  • Step 2. Verify registration. From an elevated command prompt, run reg query HKCR\HTMLConverter.HTMLConverterX. If the key exists, the COM object is ready.
  • Step 3. Reference the COM object from your project. In .NET, add a COM reference or use Type.GetTypeFromProgID(). In PHP, use new COM("HTMLConverter.HTMLConverterX"). In Python, use win32com.client.Dispatch("HTMLConverter.HTMLConverterX").
  • Step 4. Call Convert(source, destination, options). Pass the input HTML path, output file path, and an options string with flags like -c PDF, -OwnerPassword secret, -Watermark CONFIDENTIAL.
  • Step 5. Handle the return value or exception. On success, the output file is created. On failure, the COM call throws a language-native exception with the HRESULT and error text.
  • Step 6. Deploy. For ASP.NET or IIS, make sure the application pool identity has permission to read the source HTML, write to the output path, and access the COM registry. For Python or PHP, the user running the script needs the same permissions.

Code Samples

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

Output Format Options

The third argument to Convert() is a space-separated flag string. The key flag is -c FORMAT. Change it and you change the output:

FlagOutputTypical Use
-c PDFPDFArchiving, printing, distribution
-c DOC / -c DOCXMicrosoft WordFurther editing, collaboration
-c XLSExcelExtracting tables from HTML for analysis
-c TIFFMulti-page TIFFFax systems, document imaging pipelines
-c JPEGJPEG imageThumbnails, embedded previews
-c RTFRich TextWord-compatible editable output without DOCX
-c TXTPlain textText indexing, search systems
-c XHTMLXHTMLCleaned-up HTML output

You can combine with security and layout flags:

  • -OwnerPassword secret — PDF owner password (controls permissions)
  • -UserPassword open123 — PDF open password
  • -NoPrint / -NoCopy / -NoModify — PDF permission restrictions
  • -Watermark "CONFIDENTIAL" — stamp watermark text on every page
  • -PageSize A4 / Letter / Legal — paper size
  • -log C:\Logs\html.log — write conversion log for monitoring

Desktop or Server? When to Pick Each

If you need to convert HTML files for many users, you have two paths. Either install desktop Total HTML Converter on each computer — one license per workstation, conversion runs locally for each user — or install Total HTML Converter X on a single server and let every user (or every application) call it via ActiveX or the command line. The X version is the right pick when conversion is part of an automated pipeline rather than something individual users trigger by hand.

ActiveX vs Command Line vs Headless Browser

AspectTotal HTML Converter X (ActiveX)Command LineHeadless Browser
Startup costNone (in-process DLL)Process spawn per callHeavy — new browser instance
Memory footprintSmallSmallLarge (Chromium = 200+ MB)
ConcurrencyThread-safe per processMulti-processOne browser per worker
Error handlingNative language exceptionParse stdout / exit codeParse JSON protocol
Output formatsPDF, DOC, XLS, TIFF, JPEG, RTF, TXT, XHTMLSame (same engine)Usually PDF + PNG only
DeploymentSingle MSI installSingle MSI installBrowser + driver + sandbox
Network requiredNoNoNo (once installed)

When to Use ActiveX Integration

  1. High-throughput web applications. An ASP.NET or Classic ASP site converts HTML email previews, invoices, or statements to PDF on every request. ActiveX eliminates process-spawn overhead — each conversion is a method call, not a subprocess.
  2. Custom document workflows. A Windows service picks up HTML files from a watched folder, converts them to PDF with company watermarks, and drops the results into a document management system. The service hosts the COM object directly; no shell-out, no batch files.
  3. Multi-tenant SaaS backends. Each tenant submits HTML templates that need conversion. The ActiveX interface lets your backend queue and process conversions with the same concurrency model as the rest of your pipeline.
  4. Air-gapped environments. On-premises deployments where cloud conversion APIs are blocked or forbidden. The ActiveX component runs entirely inside the network perimeter.
  5. Existing COM-based architectures. Legacy applications built on Classic ASP, VB6, or C++ with COM already know how to work with ActiveX components. Total HTML Converter X plugs in the same way.
  6. Replacing headless-browser pipelines. Teams migrating away from Puppeteer or PhantomJS because of memory pressure, update churn, or crash frequency switch to ActiveX for predictable resource use.

Why Total HTML Converter X

Purpose-Built for Servers

No GUI, no confirmation dialogs, no "Save As" prompts. Runs under IIS, inside Windows services, or from scheduled tasks with no user logged in.

Own Rendering Engine

No browser required. The converter parses HTML and CSS with its own code. This means no Chrome updates breaking your pipeline, no browser profiles, no driver version mismatches.

Single License Per Server

Unlike per-user or per-conversion pricing, Total HTML Converter X is licensed per server. Serve thousands of users from one license.

Sample Projects Included

The installer ships with working ASP, PHP, and C++ sample projects. Open them in Visual Studio, an IDE of your choice, or a text editor and adapt them to your needs.

30-Day Trial, Fully Functional

No watermark, no conversion limit, no email required to download. Integrate it into your prototype, prove it works, then license it.

Download Free Trial

(30-day trial — no email required)

Buy License

Server license starts at $249.90

Windows 7/8/10/11 • Server 2012/2016/2019/2022


quote

Total HTML Converter X Customer Reviews 2026

Rate It
Rated 4.7/5 based on customer reviews
5 Star

"Replaced a Puppeteer pipeline that was consuming 2 GB of RAM per worker and crashing nightly. The ActiveX call fits into our existing .NET worker service — one method call, no subprocess, no headless browser to restart. Memory stays flat. PDF output quality is better than what Chromium gave us, especially on CSS with tables."

5 Star Daniel Park Senior Backend Engineer

"We run a PHP billing portal under IIS. Invoices are generated as HTML templates, converted to PDF on the fly, and emailed to customers. The COM integration is three lines of PHP. No cloud API, no files leaving our server. The $249.90 one-time license paid for itself in the first week of use versus the per-document API we were evaluating."

5 Star Amira Hassan Web Applications Developer

"Integrated with a Classic ASP application that has been running for 15+ years. <code>Server.CreateObject("HTMLConverter.HTMLConverterX")</code> worked on the first try under IIS. Good that the 32-bit and 64-bit registrations are separate &mdash; I needed the 32-bit build. Documentation could use more samples for VB6 specifically, but the ASP sample was close enough to adapt."

4 Star Victor Rossi IT Integration Lead

FAQ ▼

Any language that speaks COM. That includes C# and VB.NET (via COM interop), C++ (via CoCreateInstance), PHP (via the COM class), Python (via pywin32), Classic ASP and VBScript (via Server.CreateObject), JScript / WSH, Delphi, PowerShell, Ruby (via win32ole), and Node.js (via winax or similar bindings).
No. Total HTML Converter X ships with its own HTML and CSS rendering engine. It does not depend on Internet Explorer, Edge, Chrome, or any other browser. This also means browser updates cannot break your pipeline.
Yes. The installer registers both 32-bit and 64-bit COM classes. Your 64-bit .NET application loads the 64-bit version automatically. For 32-bit applications, the 32-bit registration is used.
Each process that creates an instance gets its own in-process COM object. You can safely run multiple conversions in parallel across threads or worker processes. For very high throughput, run multiple worker processes — the same pattern you would use for any CPU-bound server component.
Yes. Classic ASP applications call it via Server.CreateObject. ASP.NET applications reference the COM class directly. The IIS application pool identity needs read access to source HTML files, write access to the output directory, and read access to the COM registry hive. For Classic ASP, enable 32-bit applications in the app pool if you installed the 32-bit build.
The Convert() method raises a COM exception that surfaces in your language as a native exception — COMException in .NET, com_exception in PHP, pywintypes.com_error in Python, a runtime error in VBScript. The exception carries the HRESULT and a descriptive message so you can log or recover.
Yes. Every command-line flag is also accepted as part of the options string passed to Convert(). Example: Convert(src, dst, "-c PDF -Watermark DRAFT -OwnerPassword secret -NoPrint").
Total HTML Converter X is licensed per server, not per user or per conversion. One license lets you serve unlimited users of your application. The server license starts at $249.90 with a fully functional 30-day free trial.
Yes, on Server Core. Inside Windows containers, the COM registration works on the windowsservercore base image but not on the smaller nanoserver image (which lacks full COM support). The 30-day trial is an easy way to verify your exact deployment target.
The Convert() method expects a local file path for the source. If you need to process a live URL, download it first in your application (any HTTP client works), save to a temp file, then pass the temp path to the converter.

 

Start working now!

Download free trial and convert your files in minutes.
No credit card or email required.

⬇ Download Free Trial Windows 7/8/10/11 • 228 MB

Support
Total HTML Converter X Preview1

Latest News

Newsletter Subscribe

No worries, we don't spam.


© 2026. All rights reserved. CoolUtils File Converters

Cards