La tua applicazione web deve trasformare una pagina HTML in PDF, DOC o TIFF sul server. Le opzioni ovvie sono dolorose: un browser headless divora RAM e va in crash sotto carico, un processo da riga di comando è lento all'avvio e difficile da monitorare, un'API cloud fa uscire i tuoi dati e addebita per ogni chiamata.
Total HTML Converter X espone un'interfaccia ActiveX / COM completa. Istanzia l'oggetto una volta da .NET, PHP, Python, ASP, VBScript o da qualsiasi runtime compatibile con COM, chiama Convert(), ottieni il file di output. Nessun subprocess da avviare, nessun rendering del browser, nessuna API esterna. I file non lasciano mai il tuo server.
Process.Start(), niente parsing di stdout, niente processi zombie.(prova di 30 giorni — nessuna email richiesta)
La licenza server parte da $249,90
ActiveX è un modello di componenti Microsoft. In termini pratici, significa che Total HTML Converter X registra in Windows una classe COM (HTMLConverter.HTMLConverterX) che qualsiasi runtime compatibile con COM può istanziare e richiamare. Non stai chiamando un'API REST o un processo da riga di comando — stai caricando una DLL nella tua applicazione e invocando metodi su un oggetto in-process.
Questo conta per tre motivi:
Qualsiasi linguaggio che parla COM funziona: C# e VB.NET tramite .NET interop, C++ tramite CoCreateInstance, PHP tramite la classe COM, Python tramite pywin32, Classic ASP tramite Server.CreateObject, VBScript, JScript/WSH, Delphi, PowerShell, Ruby tramite win32ole e Node.js tramite winax.
reg query HKCR\HTMLConverter.HTMLConverterX. Se la chiave esiste, l'oggetto COM è pronto.Type.GetTypeFromProgID(). In PHP usa new COM("HTMLConverter.HTMLConverterX"). In Python usa win32com.client.Dispatch("HTMLConverter.HTMLConverterX").Convert(source, destination, options). Passa il percorso HTML di input, il percorso del file di output e una stringa di opzioni con flag come -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
Il terzo argomento di Convert() è una stringa di flag separati da spazi. Il flag chiave è -c FORMAT. Cambialo e cambi l'output:
| Flag | Output | Uso tipico |
|---|---|---|
-c PDF | Archiviazione, stampa, distribuzione | |
-c DOC / -c DOCX | Microsoft Word | Ulteriore modifica, collaborazione |
-c XLS | Excel | Estrazione di tabelle da HTML per analisi |
-c TIFF | TIFF multipagina | Sistemi fax, pipeline di document imaging |
-c JPEG | Immagine JPEG | Miniature, anteprime integrate |
-c RTF | Rich Text | Output modificabile compatibile con Word senza DOCX |
-c TXT | Testo semplice | Indicizzazione di testo, sistemi di ricerca |
-c XHTML | XHTML | Output HTML ripulito |
Puoi combinare con flag di sicurezza e layout:
-OwnerPassword secret — password proprietario PDF (controlla i permessi)-UserPassword open123 — password di apertura PDF-NoPrint / -NoCopy / -NoModify — restrizioni dei permessi PDF-Watermark "CONFIDENTIAL" — imprime una filigrana di testo su ogni pagina-PageSize A4 / Letter / Legal — formato della carta-log C:\Logs\html.log — scrive il log della conversione per il monitoraggio| Aspetto | Total HTML Converter X (ActiveX) | Riga di comando | Browser headless |
|---|---|---|---|
| Costo di avvio | Nessuno (DLL in-process) | Avvio di un processo per chiamata | Pesante — nuova istanza del browser |
| Footprint di memoria | Piccolo | Piccolo | Grande (Chromium = oltre 200 MB) |
| Concorrenza | Thread-safe per processo | Multi-processo | Un browser per worker |
| Gestione errori | Eccezione nativa del linguaggio | Parsing di stdout / exit code | Parsing di protocollo JSON |
| Formati di output | PDF, DOC, XLS, TIFF, JPEG, RTF, TXT, XHTML | Stessi (stesso motore) | Solitamente solo PDF + PNG |
| Distribuzione | Singolo installer MSI | Singolo installer MSI | Browser + driver + sandbox |
| Rete richiesta | No | No | No (una volta installato) |
Niente GUI, niente finestre di conferma, niente prompt "Salva con nome". Gira sotto IIS, all'interno di servizi Windows o da attività pianificate senza alcun utente collegato.
Nessun browser richiesto. Il convertitore analizza HTML e CSS con codice proprio. Questo significa niente aggiornamenti di Chrome che rompono la tua pipeline, niente profili browser, niente incompatibilità di versione tra driver.
A differenza dei prezzi per utente o per conversione, Total HTML Converter X è in licenza per server. Servi migliaia di utenti da una sola licenza.
L'installer include progetti di esempio funzionanti in ASP, PHP e C++. Aprili in Visual Studio, in un IDE a tua scelta o in un editor di testo e adattali alle tue esigenze.
Nessuna filigrana, nessun limite di conversione, nessuna email richiesta per il download. Integralo nel tuo prototipo, dimostra che funziona, poi concedilo in licenza.
(prova di 30 giorni — nessuna email richiesta)
La licenza server parte da $249,90
Windows 7/8/10/11 • Server 2012/2016/2019/2022
"Ho sostituito una pipeline Puppeteer che consumava 2 GB di RAM per worker e andava in crash ogni notte. La chiamata ActiveX si inserisce nel nostro servizio worker .NET esistente — una chiamata di metodo, nessun subprocess, nessun browser headless da riavviare. La memoria resta stabile. La qualità dell'output PDF è migliore di quella che ci dava Chromium, soprattutto su CSS con tabelle."
Daniel Park Senior Backend Engineer
"Gestiamo un portale di fatturazione PHP sotto IIS. Le fatture vengono generate come template HTML, convertite al volo in PDF e inviate via email ai clienti. L'integrazione COM sono tre righe di PHP. Nessuna API cloud, nessun file che esce dal nostro server. La licenza una tantum da $249,90 si è ripagata nella prima settimana d'uso rispetto all'API per-documento che stavamo valutando."
Amira Hassan Web Applications Developer
"Integrato con un'applicazione Classic ASP che gira da oltre 15 anni. <code>Server.CreateObject("HTMLConverter.HTMLConverterX")</code> ha funzionato al primo tentativo sotto IIS. Ottimo che le registrazioni a 32 bit e 64 bit siano separate — mi serviva la build a 32 bit. La documentazione potrebbe avere più esempi specifici per VB6, ma l'esempio ASP era abbastanza vicino da adattarsi."
Victor Rossi IT Integration Lead
CoCreateInstance), PHP (tramite la classe COM), Python (tramite pywin32), Classic ASP e VBScript (tramite Server.CreateObject), JScript / WSH, Delphi, PowerShell, Ruby (tramite win32ole) e Node.js (tramite winax o binding simili).Server.CreateObject. Le applicazioni ASP.NET referenziano direttamente la classe COM. L'identità dell'application pool di IIS necessita dell'accesso in lettura ai file HTML sorgente, dell'accesso in scrittura alla directory di output e dell'accesso in lettura all'hive del registro COM. Per Classic ASP, abilita le applicazioni a 32 bit nell'app pool se hai installato la build a 32 bit.Convert() solleva un'eccezione COM che emerge nel tuo linguaggio come un'eccezione nativa — COMException in .NET, com_exception in PHP, pywintypes.com_error in Python, un errore di runtime in VBScript. L'eccezione trasporta l'HRESULT e un messaggio descrittivo in modo che tu possa registrarla o recuperare l'errore.Convert(). Esempio: Convert(src, dst, "-c PDF -Watermark DRAFT -OwnerPassword secret -NoPrint").windowsservercore ma non sull'immagine più piccola nanoserver (che manca del supporto COM completo). La prova di 30 giorni è un modo semplice per verificare il tuo specifico target di deployment.Convert() si aspetta un percorso di file locale per la sorgente. Se hai bisogno di elaborare un URL dal vivo, scaricalo prima nella tua applicazione (qualsiasi client HTTP funziona), salvalo in un file temporaneo, poi passa il percorso temporaneo al convertitore.Scarica la versione di prova e converti i tuoi file in pochi minuti.
Non è richiesta carta di credito o email.

Argomenti Correlati
Convertire HTML in PDF da riga di comando — Convertitore batch per server