Su aplicación web necesita transformar una página HTML en PDF, DOC o TIFF en el servidor. Las opciones obvias son dolorosas: un navegador sin interfaz consume RAM y se cae con la carga, un proceso de línea de comandos tarda en iniciarse y es difícil de monitorear, una API en la nube filtra sus datos y cobra por cada llamada.
Total HTML Converter X expone una interfaz completa de ActiveX / COM. Instancie el objeto una vez desde .NET, PHP, Python, ASP, VBScript o cualquier entorno compatible con COM, llame a Convert(), obtenga el archivo de salida. Sin generar subprocesos, sin renderizado por navegador, sin API externa. Los archivos nunca salen de su servidor.
Process.Start(), sin analizar stdout, sin procesos zombis.(prueba de 30 días — sin correo electrónico)
Licencia de servidor desde $249.90
ActiveX es un modelo de componentes de Microsoft. En términos prácticos, significa que Total HTML Converter X registra una clase COM en Windows (HTMLConverter.HTMLConverterX) que cualquier entorno compatible con COM puede instanciar y llamar. Usted no está llamando a una API REST ni a un proceso de línea de comandos — está cargando una DLL en su aplicación e invocando métodos sobre un objeto que reside en el mismo proceso.
Esto importa por tres razones:
Cualquier lenguaje que hable COM funciona: C# y VB.NET mediante interoperabilidad .NET, C++ mediante CoCreateInstance, PHP mediante la clase COM, Python mediante pywin32, Classic ASP mediante Server.CreateObject, VBScript, JScript/WSH, Delphi, PowerShell, Ruby mediante win32ole y Node.js mediante winax.
reg query HKCR\HTMLConverter.HTMLConverterX. Si la clave existe, el objeto COM está listo.Type.GetTypeFromProgID(). En PHP, use new COM("HTMLConverter.HTMLConverterX"). En Python, use win32com.client.Dispatch("HTMLConverter.HTMLConverterX").Convert(source, destination, options). Pase la ruta del HTML de entrada, la ruta del archivo de salida y una cadena de opciones con flags como -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
El tercer argumento de Convert() es una cadena de flags separados por espacios. El flag clave es -c FORMAT. Cambíelo y cambiará la salida:
| Flag | Salida | Uso típico |
|---|---|---|
-c PDF | Archivado, impresión, distribución | |
-c DOC / -c DOCX | Microsoft Word | Edición posterior, colaboración |
-c XLS | Excel | Extraer tablas de HTML para análisis |
-c TIFF | TIFF multipágina | Sistemas de fax, flujos de digitalización de documentos |
-c JPEG | Imagen JPEG | Miniaturas, vistas previas integradas |
-c RTF | Rich Text | Salida editable compatible con Word sin DOCX |
-c TXT | Texto plano | Indexación de texto, sistemas de búsqueda |
-c XHTML | XHTML | Salida HTML depurada |
Puede combinarlos con flags de seguridad y diseño:
-OwnerPassword secret — contraseña de propietario del PDF (controla permisos)-UserPassword open123 — contraseña de apertura del PDF-NoPrint / -NoCopy / -NoModify — restricciones de permisos del PDF-Watermark "CONFIDENTIAL" — estampa el texto de marca de agua en cada página-PageSize A4 / Letter / Legal — tamaño de papel-log C:\Logs\html.log — escribe un registro de conversión para monitoreo| Aspecto | Total HTML Converter X (ActiveX) | Línea de comandos | Navegador sin interfaz |
|---|---|---|---|
| Costo de arranque | Ninguno (DLL en proceso) | Creación de proceso por cada llamada | Alto — nueva instancia de navegador |
| Consumo de memoria | Pequeño | Pequeño | Grande (Chromium = 200+ MB) |
| Concurrencia | Segura entre hilos por proceso | Multiproceso | Un navegador por trabajador |
| Manejo de errores | Excepción nativa del lenguaje | Analizar stdout / código de salida | Analizar protocolo JSON |
| Formatos de salida | PDF, DOC, XLS, TIFF, JPEG, RTF, TXT, XHTML | Iguales (mismo motor) | Normalmente solo PDF + PNG |
| Implementación | Un solo instalador MSI | Un solo instalador MSI | Navegador + driver + sandbox |
| Requiere red | No | No | No (una vez instalado) |
Sin interfaz gráfica, sin diálogos de confirmación, sin avisos de "Guardar como". Se ejecuta bajo IIS, dentro de servicios de Windows o desde tareas programadas sin usuario conectado.
No se requiere navegador. El conversor analiza HTML y CSS con su propio código. Esto significa que las actualizaciones de Chrome no romperán su pipeline, no hay perfiles de navegador ni incompatibilidades de versiones de driver.
A diferencia de los modelos de precios por usuario o por conversión, Total HTML Converter X se licencia por servidor. Atienda a miles de usuarios con una sola licencia.
El instalador incluye proyectos de ejemplo funcionales en ASP, PHP y C++. Ábralos en Visual Studio, en el IDE que prefiera o en un editor de texto y adaptelos a sus necesidades.
Sin marca de agua, sin límite de conversión, sin correo electrónico requerido para descargar. Integrelo en su prototipo, compruebe que funciona y luego adquiera la licencia.
(prueba de 30 días — sin correo electrónico)
Licencia de servidor desde $249.90
Windows 7/8/10/11 • Server 2012/2016/2019/2022
"Reemplacé una pipeline de Puppeteer que consumía 2 GB de RAM por trabajador y se caía cada noche. La llamada ActiveX encaja en nuestro servicio trabajador .NET existente — una llamada a método, sin subproceso, sin navegador sin interfaz que reiniciar. La memoria se mantiene estable. La calidad de salida PDF es mejor que la que nos daba Chromium, especialmente con CSS que contiene tablas."
Daniel Park Senior Backend Engineer
"Ejecutamos un portal de facturación PHP bajo IIS. Las facturas se generan como plantillas HTML, se convierten a PDF sobre la marcha y se envían por correo a los clientes. La integración COM son tres líneas de PHP. Sin API en la nube, sin archivos saliendo de nuestro servidor. La licencia única de $249.90 se amortizó en la primera semana de uso frente a la API por documento que estábamos evaluando."
Amira Hassan Web Applications Developer
"Se integró con una aplicación Classic ASP que lleva más de 15 años en producción. <code>Server.CreateObject("HTMLConverter.HTMLConverterX")</code> funcionó al primer intento bajo IIS. Es bueno que los registros de 32 bits y 64 bits sean separados — yo necesitaba la versión de 32 bits. La documentación podría tener más ejemplos específicos para VB6, pero el ejemplo ASP estuvo lo suficientemente cerca para adaptarlo."
Victor Rossi IT Integration Lead
CoCreateInstance), PHP (mediante la clase COM), Python (mediante pywin32), Classic ASP y VBScript (mediante Server.CreateObject), JScript / WSH, Delphi, PowerShell, Ruby (mediante win32ole) y Node.js (mediante winax u otros bindings similares).Server.CreateObject. Las aplicaciones ASP.NET referencian la clase COM directamente. La identidad del grupo de aplicaciones de IIS necesita acceso de lectura a los archivos HTML de origen, acceso de escritura al directorio de salida y acceso de lectura al registro COM. Para Classic ASP, habilite las aplicaciones de 32 bits en el grupo de aplicaciones si instaló la versión de 32 bits.Convert() lanza una excepción COM que aparece en su lenguaje como una excepción nativa — COMException en .NET, com_exception en PHP, pywintypes.com_error en Python, un error en tiempo de ejecución en VBScript. La excepción incluye el HRESULT y un mensaje descriptivo para que pueda registrar o recuperar.Convert(). Ejemplo: Convert(src, dst, "-c PDF -Watermark DRAFT -OwnerPassword secret -NoPrint").windowsservercore pero no en la imagen más pequeña nanoserver (que carece de soporte COM completo). La prueba de 30 días es una forma sencilla de verificar su destino de implementación exacto.Convert() espera una ruta de archivo local como origen. Si necesita procesar una URL en vivo, descárguela primero en su aplicación (cualquier cliente HTTP sirve), guárdela en un archivo temporal y pase luego la ruta temporal al conversor.Descargue la versión de prueba y convierta sus archivos en minutos.
No se requiere tarjeta de crédito ni email.