Votre application web doit transformer une page HTML en PDF, DOC ou TIFF côté serveur. Les options évidentes sont pénibles : un navigateur headless dévore la RAM et plante sous charge, un processus en ligne de commande est lent à démarrer et difficile à surveiller, une API cloud fait fuiter vos données et facture chaque appel.
Total HTML Converter X expose une interface ActiveX / COM complète. Instanciez l'objet une seule fois depuis .NET, PHP, Python, ASP, VBScript ou tout environnement compatible COM, appelez Convert(), récupérez le fichier de sortie. Pas de sous-processus à créer, pas de rendu via navigateur, pas d'API externe. Les fichiers ne quittent jamais votre serveur.
Process.Start(), pas d'analyse stdout, pas de processus zombies.(essai de 30 jours — aucun e-mail requis)
Licence serveur à partir de $249.90
ActiveX est un modèle de composant Microsoft. Concrètement, cela signifie que Total HTML Converter X enregistre une classe COM dans Windows (HTMLConverter.HTMLConverterX) que tout environnement COM peut instancier et appeler. Vous n'appelez pas une API REST ni un processus en ligne de commande — vous chargez une DLL dans votre application et invoquez des méthodes sur un objet in-process.
Cela compte pour trois raisons :
Tout langage qui parle COM fonctionne : C# et VB.NET via interop .NET, C++ via CoCreateInstance, PHP via la classe COM, Python via pywin32, Classic ASP via Server.CreateObject, VBScript, JScript/WSH, Delphi, PowerShell, Ruby via win32ole, et Node.js via winax.
reg query HKCR\HTMLConverter.HTMLConverterX. Si la clé existe, l'objet COM est prêt.Type.GetTypeFromProgID(). En PHP, utilisez new COM("HTMLConverter.HTMLConverterX"). En Python, utilisez win32com.client.Dispatch("HTMLConverter.HTMLConverterX").Convert(source, destination, options). Passez le chemin HTML d'entrée, le chemin du fichier de sortie et une chaîne d'options avec des drapeaux comme -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
Le troisième argument de Convert() est une chaîne de drapeaux séparés par des espaces. Le drapeau clé est -c FORMAT. Changez-le et vous changez la sortie :
| Drapeau | Sortie | Usage typique |
|---|---|---|
-c PDF | Archivage, impression, distribution | |
-c DOC / -c DOCX | Microsoft Word | Édition ultérieure, collaboration |
-c XLS | Excel | Extraction de tableaux HTML pour analyse |
-c TIFF | TIFF multi-pages | Systèmes fax, pipelines d'imagerie documentaire |
-c JPEG | Image JPEG | Miniatures, aperçus intégrés |
-c RTF | Rich Text | Sortie éditable compatible Word sans DOCX |
-c TXT | Texte brut | Indexation de texte, systèmes de recherche |
-c XHTML | XHTML | Sortie HTML nettoyée |
Vous pouvez combiner avec des drapeaux de sécurité et de mise en page :
-OwnerPassword secret — mot de passe propriétaire PDF (contrôle les permissions)-UserPassword open123 — mot de passe d'ouverture du PDF-NoPrint / -NoCopy / -NoModify — restrictions des permissions PDF-Watermark "CONFIDENTIAL" — apposer un filigrane texte sur chaque page-PageSize A4 / Letter / Legal — format papier-log C:\Logs\html.log — écrire un journal de conversion pour la surveillance| Aspect | Total HTML Converter X (ActiveX) | Ligne de commande | Navigateur headless |
|---|---|---|---|
| Coût de démarrage | Aucun (DLL in-process) | Création de processus par appel | Lourd — nouvelle instance navigateur |
| Empreinte mémoire | Faible | Faible | Élevée (Chromium = 200+ Mo) |
| Concurrence | Thread-safe par processus | Multi-processus | Un navigateur par worker |
| Gestion d'erreurs | Exception native du langage | Analyse stdout / code de sortie | Analyse protocole JSON |
| Formats de sortie | PDF, DOC, XLS, TIFF, JPEG, RTF, TXT, XHTML | Identiques (même moteur) | Généralement PDF + PNG uniquement |
| Déploiement | Installation MSI unique | Installation MSI unique | Navigateur + pilote + sandbox |
| Réseau requis | Non | Non | Non (une fois installé) |
Pas d'interface graphique, pas de boîtes de dialogue de confirmation, pas d'invite « Enregistrer sous ». Fonctionne sous IIS, à l'intérieur de services Windows ou depuis des tâches planifiées sans utilisateur connecté.
Aucun navigateur requis. Le convertisseur analyse HTML et CSS avec son propre code. Cela signifie aucune mise à jour Chrome cassant votre pipeline, aucun profil navigateur, aucune incompatibilité de version de pilote.
Contrairement à une tarification par utilisateur ou par conversion, Total HTML Converter X est sous licence par serveur. Servez des milliers d'utilisateurs depuis une seule licence.
L'installateur livre des projets d'exemple ASP, PHP et C++ fonctionnels. Ouvrez-les dans Visual Studio, dans l'IDE de votre choix ou un éditeur de texte, puis adaptez-les à vos besoins.
Aucun filigrane, aucune limite de conversion, aucun e-mail requis pour télécharger. Intégrez-le à votre prototype, prouvez qu'il fonctionne, puis achetez la licence.
(essai de 30 jours — aucun e-mail requis)
Licence serveur à partir de $249.90
Windows 7/8/10/11 • Server 2012/2016/2019/2022
"A remplacé un pipeline Puppeteer qui consommait 2 Go de RAM par worker et plantait chaque nuit. L'appel ActiveX s'insère dans notre service worker .NET existant — un seul appel de méthode, pas de sous-processus, pas de navigateur headless à redémarrer. La mémoire reste stable. La qualité de sortie PDF est meilleure que ce que Chromium nous donnait, en particulier sur le CSS avec tableaux."
Daniel Park Senior Backend Engineer
"Nous exécutons un portail de facturation PHP sous IIS. Les factures sont générées comme modèles HTML, converties en PDF à la volée et envoyées par e-mail aux clients. L'intégration COM tient en trois lignes de PHP. Pas d'API cloud, pas de fichiers quittant notre serveur. La licence unique à $249.90 a été amortie dès la première semaine d'utilisation, comparée à l'API par document que nous évaluions."
Amira Hassan Web Applications Developer
"Intégré à une application Classic ASP qui tourne depuis plus de 15 ans. <code>Server.CreateObject("HTMLConverter.HTMLConverterX")</code> a fonctionné du premier coup sous IIS. C'est bien que les enregistrements 32 bits et 64 bits soient séparés — il me fallait la version 32 bits. La documentation gagnerait à inclure plus d'exemples spécifiques à VB6, mais l'exemple ASP était suffisamment proche pour être adapté."
Victor Rossi IT Integration Lead
CoCreateInstance), PHP (via la classe COM), Python (via pywin32), Classic ASP et VBScript (via Server.CreateObject), JScript / WSH, Delphi, PowerShell, Ruby (via win32ole) et Node.js (via winax ou des liaisons similaires).Server.CreateObject. Les applications ASP.NET référencent directement la classe COM. L'identité du pool d'applications IIS a besoin d'un accès en lecture aux fichiers HTML source, d'un accès en écriture au répertoire de sortie et d'un accès en lecture au registre COM. Pour Classic ASP, activez les applications 32 bits dans le pool d'applications si vous avez installé la version 32 bits.Convert() lève une exception COM qui remonte dans votre langage comme une exception native — COMException en .NET, com_exception en PHP, pywintypes.com_error en Python, une erreur d'exécution en VBScript. L'exception porte le HRESULT et un message descriptif pour que vous puissiez journaliser ou récupérer.Convert(). Exemple : Convert(src, dst, "-c PDF -Watermark DRAFT -OwnerPassword secret -NoPrint").windowsservercore mais pas sur l'image plus petite nanoserver (qui n'a pas le support COM complet). L'essai de 30 jours est un moyen simple de valider votre cible de déploiement exacte.Convert() attend un chemin de fichier local comme source. Si vous devez traiter une URL en direct, téléchargez-la d'abord dans votre application (n'importe quel client HTTP convient), enregistrez-la dans un fichier temporaire, puis passez le chemin temporaire au convertisseur.Téléchargez la version d'essai gratuite et convertissez vos fichiers en quelques minutes.
Aucune carte de crédit ou email requis.