Sua aplicação web precisa transformar uma página HTML em PDF, DOC ou TIFF no servidor. As opções óbvias são dolorosas: um navegador headless consome RAM e trava sob carga, um processo de linha de comando é lento para iniciar e difícil de monitorar, uma API na nuvem vaza seus dados e cobra por chamada.
Total HTML Converter X expõe uma interface ActiveX / COM completa. Instancie o objeto uma vez a partir de .NET, PHP, Python, ASP, VBScript ou qualquer runtime compatível com COM, chame Convert() e obtenha o arquivo de saída. Sem spawning de subprocessos, sem renderização de navegador, sem API externa. Os arquivos nunca saem do seu servidor.
Process.Start(), sem parsing de stdout, sem processos zumbis.(Avaliação de 30 dias — sem necessidade de e-mail)
Licença de servidor a partir de $249.90
ActiveX é um modelo de componentes da Microsoft. Em termos práticos, isso significa que o Total HTML Converter X registra uma classe COM no Windows (HTMLConverter.HTMLConverterX) que qualquer runtime compatível com COM pode instanciar e chamar. Você não está chamando uma API REST nem um processo de linha de comando — você está carregando uma DLL em sua aplicação e invocando métodos em um objeto em processo.
Isso importa por três motivos:
Qualquer linguagem que fale COM funciona: C# e VB.NET via interop .NET, C++ via CoCreateInstance, PHP via a classe COM, Python via pywin32, Classic ASP via Server.CreateObject, VBScript, JScript/WSH, Delphi, PowerShell, Ruby via win32ole e Node.js via winax.
reg query HKCR\HTMLConverter.HTMLConverterX. Se a chave existir, o objeto COM está pronto.Type.GetTypeFromProgID(). Em PHP, use new COM("HTMLConverter.HTMLConverterX"). Em Python, use win32com.client.Dispatch("HTMLConverter.HTMLConverterX").Convert(source, destination, options). Passe o caminho do HTML de entrada, o caminho do arquivo de saída e uma string de opções com flags como -c PDF, -OwnerPassword secret, -Watermark CONFIDENCIAL.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
O terceiro argumento de Convert() é uma string de flags separadas por espaços. A flag principal é -c FORMAT. Altere-a e você muda a saída:
| Flag | Saída | Uso típico |
|---|---|---|
-c PDF | Arquivamento, impressão, distribuição | |
-c DOC / -c DOCX | Microsoft Word | Edição posterior, colaboração |
-c XLS | Excel | Extração de tabelas de HTML para análise |
-c TIFF | TIFF multipágina | Sistemas de fax, pipelines de imageamento de documentos |
-c JPEG | Imagem JPEG | Miniaturas, prévias incorporadas |
-c RTF | Rich Text | Saída editável compatível com Word sem DOCX |
-c TXT | Texto simples | Indexação de texto, sistemas de busca |
-c XHTML | XHTML | Saída HTML limpa |
Você pode combinar com flags de segurança e layout:
-OwnerPassword secret — senha de proprietário do PDF (controla permissões)-UserPassword open123 — senha de abertura do PDF-NoPrint / -NoCopy / -NoModify — restrições de permissão do PDF-Watermark "CONFIDENCIAL" — carimba o texto da marca d'água em cada página-PageSize A4 / Letter / Legal — tamanho do papel-log C:\Logs\html.log — grava o log de conversão para monitoramento| Aspecto | Total HTML Converter X (ActiveX) | Linha de comando | Navegador headless |
|---|---|---|---|
| Custo de inicialização | Nenhum (DLL em processo) | Spawn de processo por chamada | Pesado — nova instância do navegador |
| Consumo de memória | Pequeno | Pequeno | Grande (Chromium = 200+ MB) |
| Concorrência | Thread-safe por processo | Multiprocesso | Um navegador por worker |
| Tratamento de erros | Exceção nativa da linguagem | Parse de stdout / código de saída | Parse de protocolo JSON |
| Formatos de saída | PDF, DOC, XLS, TIFF, JPEG, RTF, TXT, XHTML | Idênticos (mesmo engine) | Normalmente apenas PDF + PNG |
| Implantação | Instalação única via MSI | Instalação única via MSI | Navegador + driver + sandbox |
| Requer rede | Não | Não | Não (após a instalação) |
Sem GUI, sem caixas de confirmação, sem prompts "Salvar como". Executa sob IIS, dentro de serviços Windows ou a partir de tarefas agendadas sem usuário logado.
Sem necessidade de navegador. O conversor analisa HTML e CSS com seu próprio código. Isso significa que atualizações do Chrome não quebram seu pipeline, sem perfis de navegador, sem incompatibilidades de versão de driver.
Ao contrário de preços por usuário ou por conversão, o Total HTML Converter X é licenciado por servidor. Atenda milhares de usuários com uma única licença.
O instalador vem com projetos de exemplo funcionais em ASP, PHP e C++. Abra-os no Visual Studio, em uma IDE de sua escolha ou em um editor de texto e adapte-os às suas necessidades.
Sem marca d'água, sem limite de conversão, sem necessidade de e-mail para baixar. Integre-o ao seu protótipo, comprove que funciona e então licencie.
(Avaliação de 30 dias — sem necessidade de e-mail)
Licença de servidor a partir de $249.90
Windows 7/8/10/11 • Server 2012/2016/2019/2022
"Substituí um pipeline com Puppeteer que consumia 2 GB de RAM por worker e travava toda noite. A chamada ActiveX se encaixa no nosso serviço worker .NET existente — uma chamada de método, sem subprocesso, sem navegador headless para reiniciar. O uso de memória fica estável. A qualidade de saída em PDF é melhor do que o Chromium nos entregava, especialmente em CSS com tabelas."
Daniel Park Senior Backend Engineer
"Operamos um portal de cobrança PHP sob IIS. As faturas são geradas como templates HTML, convertidas em PDF em tempo real e enviadas por e-mail aos clientes. A integração COM são três linhas de PHP. Sem API na nuvem, sem arquivos saindo do nosso servidor. A licença única de $249.90 se pagou na primeira semana de uso em comparação com a API por documento que estávamos avaliando."
Amira Hassan Web Applications Developer
"Integrado com uma aplicação Classic ASP que está em operação há mais de 15 anos. <code>Server.CreateObject("HTMLConverter.HTMLConverterX")</code> funcionou na primeira tentativa sob IIS. Bom que os registros de 32 bits e 64 bits sejam separados — eu precisava da build de 32 bits. A documentação poderia ter mais exemplos específicos para VB6, mas o exemplo em ASP foi perto o suficiente para adaptar."
Victor Rossi IT Integration Lead
CoCreateInstance), PHP (via a classe COM), Python (via pywin32), Classic ASP e VBScript (via Server.CreateObject), JScript / WSH, Delphi, PowerShell, Ruby (via win32ole) e Node.js (via winax ou bindings semelhantes).Server.CreateObject. Aplicações ASP.NET referenciam a classe COM diretamente. A identidade do application pool do IIS precisa de acesso de leitura aos arquivos HTML de origem, acesso de escrita ao diretório de saída e acesso de leitura à hive do registro COM. Para Classic ASP, habilite aplicações de 32 bits no app pool se você instalou a build de 32 bits.Convert() gera uma exceção COM que aparece na sua linguagem como uma exceção nativa — COMException em .NET, com_exception em PHP, pywintypes.com_error em Python, um erro em tempo de execução em VBScript. A exceção carrega o HRESULT e uma mensagem descritiva para que você possa registrar em log ou recuperar.Convert(). Exemplo: Convert(src, dst, "-c PDF -Watermark DRAFT -OwnerPassword secret -NoPrint").windowsservercore, mas não na imagem menor nanoserver (que não tem suporte COM completo). A avaliação de 30 dias é uma maneira fácil de verificar seu alvo exato de implantação.Convert() espera um caminho de arquivo local para a origem. Se você precisa processar uma URL ao vivo, baixe-a primeiro em sua aplicação (qualquer cliente HTTP funciona), salve em um arquivo temporário e então passe o caminho temporário ao conversor.Baixe a versão de teste gratuita e converta seus arquivos em minutos.
Não é necessário cartão de crédito ou email.