Convert HTML and live URLs to PDF, DOC, TIFF, JPEG, XLS on Windows servers — via ActiveX, DLL, or command line.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016 / 2019/2022 Server
and
Docker / Citrix / Wine
Total HTML Converter X is a server-side SDK that converts HTML files and live URLs to PDF, DOC, RTF, XLS, TIFF, JPG, PNG, and TXT — with full CSS rendering, no headless Chrome on the server, and no Print Service dependency. It runs silent: no GUI, no dialogs, no popups. Total HTML Converter X ships with both a command-line binary and an ActiveX/COM interface, so it drops into ASP, PHP, .NET, Python, Ruby, Java, and any other COM-aware backend.
Two source modes: a local HTML/MHT file path, or a remote URL fetched directly by the converter (handy for "render this live page to PDF" workflows). Output coverage:
Total HTML Converter X recognizes all HTML tags including page-break control via CSS 1/2 styles, supports IE-style headers and footers (date, time, page count, custom watermark), automatically fits HTML width to the chosen PDF page size (essential when printing wide HTML tables), extracts metadata for database indexing, and handles both static files and live URLs in batch from a folder mask or a queue file.
Multi-user friendly: the same Windows server can run client-server installations on a LAN or expose conversion as a web service. Multithreaded engine processes batches at maximum speed. Compatible with IIS, Docker, Citrix, and Wine.
Try it for free (30 days trial period, no limitations) and find out that it is really worth its money.
Some of the currently supported file format conversions:
|
|
|
(includes 30 day FREE trial)
(only $750.00)
string src = @"C:\test\Source.html";
string dest = @"C:\test\Dest.pdf";
var cnv = new HTMLConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\HTML.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\HTMLConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.html";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"\"{srcPath}\" \"{outPath}\" -cPDF";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
C.Convert "c:\source.html", "c:\dest.jpg", "-cJPG -log c:\html.log"
C.Convert "https://www.coolutils.com/", "c:\URL Page.pdf", "-cPDF -log c:\html.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.html", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.html";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("HTMLConverter.HTMLConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\HTML.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('HTMLConverter.HTMLConverterX')
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("HTMLConverter.HTMLConverterX")
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('HTMLConverter.HTMLConverterX');
c.Convert('c:\test\source.html', 'c:\test\dest.pdf', '-cPDF -log c:\test\HTML.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("HTMLConverter.HTMLConverterX");
c.Convert("C:\\test\\source.html", "C:\\test\\dest.pdf", "-cPDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.html"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'HTMLConverter.HTMLConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\HTML.log"); print $c->ErrorMessage if -e $dest;
"Why I chose Total HTML Converter X. There were a couple of reasons. First, you were able to provide some functionality that we needed that other converters said they were unable to do (including the ability to have the same headers on each page, and not splitting rows across pages). Secondly, you were very supportive and responsive to our requests even before we had purchased the product. Third, you were willing to make pricing adjustments on the second royalty-free license when we explained our situation. Fourth, you just seemed very customer-focused and I got the sense that you wouldn't ignore me once we purchased the product — and I was right!"
Andy Poulsen
www.asp-inno.com
"We render daily portfolio reports as HTML in our own templating engine, then push the HTML through Total HTML Converter X to produce client-deliverable PDFs with our digital signature. The -PFXFile/-PFXPass signing scenario is one binary call, no separate post-processing. Around 4,000 reports per night, deterministic across runs. We replaced a wkhtmltopdf pipeline that was crashing on async-loaded fonts; the built-in renderer just works."
Stefan H.
Senior Backend Developer at a financial-reporting platform
"Customers export articles from our CMS and want PDF copies for archival. Total HTML Converter X with -HeadText/-FootText applies the publication metadata across every page, and the auto-fit HTML width handles editorial tables without us writing custom CSS for each template. Headless on Windows Server Core, no Chromium, no surprises. Five years in production, the throughput is around 80 pages per second on our hardware for typical article HTML."
Margit V.
DevOps Engineer at a CMS platform
"Bundled Total HTML Converter X into our intranet-publishing product under the Royalty-Free License. The one-time per-project fee was a fraction of what wkhtmltopdf-based commercial wrappers wanted for redistribution rights. Our installer ships and registers the ActiveX, our app calls it directly, end users see only our UI. The 32-bit ActiveX limitation cost us a couple of days of pipeline rework, but support was responsive when we asked about workarounds."
Carlos P.
Independent Software Vendor
"Customer-facing dashboards are HTML; some users want a PDF snapshot for their records. We expose a 'download as PDF' link that calls Total HTML Converter X with the live URL of the rendered dashboard. The converter logs in via cookie-based session and produces an identical PDF rendering. CSS page-break control is honored exactly, so multi-section dashboards split cleanly. The CLI is stable, well-documented, and -log -verbosity detail makes debugging trivial."
Akari N.
Lead .NET Developer at a partner-portal SaaS
Total HTML ConverterX ships with HTMLConverterX.exe, a console binary you can call from .bat scripts, scheduled tasks, PHP/.NET back-ends, or any server-side worker. The flag set mirrors the GUI HtmlConverter.exe; for the full reference see the command-line documentation. The recipes below cover the requests we hear about most often from SDK customers.
The minimum call — one source file, one output, one target format.
HTMLConverterX.exe "C:\pages\index.html" "C:\out\index.pdf" -cPDF
Process every HTML file in a folder and drop the PDFs into a sibling output directory.
HTMLConverterX.exe "C:\pages\*.html" "C:\out\" -cPDF
Swap the mask for *.mht, *.mhtml, or *.htm to pick a different source format.
The source argument can be a URL, not just a file path. The Chrome render engine handles modern CSS, web fonts, and JavaScript-heavy pages.
HTMLConverterX.exe "https://www.coolutils.com" "C:\out\coolutils.pdf" -cPDF -engine chrome
Documentation sites and exported wikis rarely live in one flat folder. -Recurse walks subdirectories; -kfs recreates the same tree on the output side instead of flattening every file into one bucket.
HTMLConverterX.exe "C:\docs\manual\*.html" "C:\out\manual\" -cPDF -Recurse -kfs
A typical export-the-whole-site job: dozens of pages that belong together. -combine merges them in source-file order and -toc generates a table of contents.
HTMLConverterX.exe "C:\docs\manual\*.html" "C:\out\manual.pdf" -cPDF -combine -toc -sort name
Use -Multipage instead of -combine when targeting multi-page TIFF.
Reports usually need a title at the top of every page and "Page 1 of 10" at the bottom. The [page] and [date] placeholders expand at render time.
HTMLConverterX.exe "C:\pages\*.html" "C:\out\" -cPDF -HeadText "Acme Quarterly Report — [date]" -HeadAlign center -FootText "Page [page]" -FootAlign right
Standard for sending drafts to clients: an owner password locks edit/print permissions, a user password gates opening the file, and a watermark labels every page.
HTMLConverterX.exe "C:\pages\*.html" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Print -wmt "CONFIDENTIAL" -wmr 45 -wtr 30
Replace Print with any combination of Copy, Modify, Annotation, FormFill, HighResPrint to grant exactly the rights you want.
For contracts, invoices, and other documents that need a verifiable signer. The PFX file holds the certificate; -PFXPass unlocks it.
HTMLConverterX.exe "C:\pages\contract.html" "C:\out\contract.pdf" -cPDF -PFXFile "C:\certs\acme.pfx" -PFXPass "cert-pwd" -SignName "Acme Legal" -SignLoc "New York, NY" -SignRes "Approved by counsel"
For records-management workflows that require ISO 19005-compliant PDF/A files with proper authoring metadata.
HTMLConverterX.exe "C:\pages\*.html" "C:\archive\" -cPDF -pdfa -PDFAuthor "Acme Inc." -PDFTitle "Knowledge Base 2026" -PDFSubject "Support articles snapshot"
When a worker writes a queue file and the converter consumes it, you don't want to encode every path on the command line. -list reads file masks (one per line) from a text file; -verbosity detail writes one log line per file; -logmode append keeps history across runs.
HTMLConverterX.exe -list "C:\queues\batch.txt" "C:\out\" -cPDF -log "C:\logs\htmlconv.log" -verbosity detail -logmode append
Developers and IT teams that convert HTML to PDF, DOC, and images on web servers via ActiveX
Add HTML conversion to your web application via ActiveX
Web developers integrate Total HTML ConverterX into ASP, PHP, or .NET applications to convert user-submitted HTML files to PDF, DOC, or images on the server. Multiple users perform simultaneous conversions with no GUI interruptions — the converter runs silently and returns results automatically.
Convert HTML reports to PDF with digital signatures
Enterprise applications generate HTML reports on the server and use Total HTML ConverterX to convert them to PDF for delivery. Add digital signatures for document authenticity, apply custom watermarks, and auto-fit wide HTML tables to the chosen page size — all as part of the automated report pipeline.
Convert HTML content to standard formats for archival
Document management systems use Total HTML ConverterX to convert incoming HTML files, saved web pages, and email templates to PDF or TIFF for standardized storage. The converter recognizes all HTML tags and CSS styles, producing faithful output with headers, footers, and metadata extraction for database indexing.
Serve HTML conversion to all users on your local network
Organizations deploy Total HTML ConverterX as a client-server application on the local network. Employees across departments submit HTML files for conversion to PDF, XLS, or TIFF through a shared service — eliminating the need to install desktop converters on every workstation.
Batch-convert HTML files via command line on servers
IT teams run Total HTML ConverterX via command line in scheduled batch jobs and automated workflows. HTML output from web scrapers, CMS exports, or application logs is converted to PDF or images on arrival. Errors are saved to a log file for monitoring — no pop-ups or user interaction required.
Updated Fri, 01 May 2026
(only $750.00)
C.Convert("https://www.example.com/report", "c:\out\report.pdf", "-cPDF"). This is widely used for rendering live status dashboards, generated reports, or partner-portal pages to PDF on a schedule.new COM("HTMLConverter.HTMLConverterX") in PHP, new HTMLConverterX() in .NET, win32com.client.Dispatch("HTMLConverter.HTMLConverterX") in Python, WIN32OLE.new('HTMLConverter.HTMLConverterX') in Ruby. Alternatively, the HTMLConverterX.exe command-line binary can be invoked from any process, scheduler, or shell script. Direct PDF streaming via ConvertToStream is also available for ASP/PHP web responses.-PFXFile "C:\certs\cert.pfx" -PFXPass "cert-pwd" to digitally sign output PDF with an X.509 certificate. -HeadText and -FootText add custom headers/footers with template tokens like [page], [date], [time] — equivalent to IE's print headers. Watermarks (text or image), AES-256 encryption, and per-permission flags (-perm Print|Copy|Modify) are all supported.page-break-before, page-break-after, page-break-inside: avoid) is honored, so logical units like rows or sections stay together across pages. -PageSize sets the target paper size (A4, Letter, Legal, etc.) per job.Updated Fri, 01 May 2026
(only $750.00)
|
|
|
Download free trial and convert your files in minutes.
No credit card or email required.