O Total Image Converter X é a solução certa para ser configurada em servidores web.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
O Total Image Converter X é um SDK do lado do servidor que converte TIFF, JPEG, PNG, BMP, PSD, WebP, RAW (NEF, CR2, CR3, ARW, ORF, RAF, DNG e mais) e mais de 35 outros formatos de imagem — sem pacotes de codecs externos ou frameworks de imagem no servidor. Ele roda em modo headless: sem GUI, sem caixas de diálogo, sem pop-ups. O Total Image Converter X é fornecido com um binário de linha de comando e uma interface ActiveX/COM, encaixando-se em ASP, PHP, .NET, Python, Ruby, Java e qualquer outro back-end compatível com COM. Lista completa de formatos de imagem suportados:
O programa processa imagens em tempo real. Não são necessários arquivos intermediários. O motor de conversão multi-thread maximiza o desempenho em servidores com múltiplos núcleos.
A alta velocidade de conversão e o processamento em lote tornam o trabalho simples e sem complicações. Experimente gratuitamente (período de avaliação de 30 dias, sem limitações) e veja que ele realmente vale o investimento.
Algumas das conversões de formato de arquivo atualmente suportadas:
|
|
|
Agentes LLM (Claude, ChatGPT, Cursor, Cline) e frameworks de retrieval (LangChain, LlamaIndex, Haystack) não conseguem ler pixels — eles leem texto. O Total Image Converter X executa OCR sobre seus lotes de imagens TIFF, JPEG, PNG, BMP, TIFF multi-página, PSD, WebP e RAW e grava o texto reconhecido em GitHub-Flavored Markdown com frontmatter estruturado e um sidecar opcional compatível com Docling, de forma que documentos digitalizados e capturas de tela cheguem ao seu vector store como texto pesquisável com âncoras de página e dicas de layout — e não como blobs binários opacos.
O que você obtém ao usar saída Markdown:
source_file, format (MIME), page_count, ocr_language, ocr_confidence_avg, dpi, espaço de cor (sRGB/CMYK), generator, created e um binary_hash para proveniência
.docling.json — JSON em esquema Docling com retângulos delimitadores de tabela, âncoras por página, confiança do OCR por região, metadados EXIF para imagens de câmera e um array chunks_hint que seu splitter pode ler
É o CoolUtils RAG Adapter — um contrato Markdown unificado compartilhado por todos os produtos Total Converter X. Especificação completa, amostras .md + .docling.json e trechos de integração estão na página Coolutils Converter X — RAG Adapter.
(inclui 30 dias de teste GRATUITO)
(apenas $159.90)
string src = @"C:\test\Source.tiff";
string dest = @"C:\test\Dest.jpg";
var cnv = new ImageConverterX();
cnv.Convert(src, dest, "-cJPG -log c:\\test\\Image.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\ImageConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.tiff";
var outPath = Path.GetTempFileName() + ".jpg";
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}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("ImageConverter.ImageConverterX")
C.Convert "c:\source.bmp", "c:\dest.tif", "-cTIFF -log c:\Image.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("ImageConverter.ImageConverterX")
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.tiff", "C:\www\ASP", "-cpdf -log c:\Image.log")
set C = nothing
$src="C:\\test\\test.jpg";
$dest="C:\\test\\test.gif";
if (file_exists($dest)) unlink($dest);
$c= new COM("ImageConverter.ImageConverterX");
$c->convert($src,$dest, "-c gif -log c:\\test\\Image.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('ImageConverter.ImageConverterX')
src = "C:\\test\\test.tiff"
dest = "C:\\test\\test.jpg"
c.convert(src, dest, "-c JPG -log c:\\test\\Image.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("ImageConverter.ImageConverterX")
src = "C:\\test\\test.tiff"
dest = "C:\\test\\test.jpg"
c.convert(src, dest, "-c JPG -log c:\\test\\Image.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('ImageConverter.ImageConverterX');
c.Convert('c:\test\source.tiff', 'c:\test\dest.jpg', '-cJPG -log c:\test\Image.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("ImageConverter.ImageConverterX");
c.Convert("C:\\test\\source.tiff", "C:\\test\\dest.jpg", "-c JPG");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.tiff"; my $dest = "C:\\test\\test.jpg"; my $c = CreateObject Win32::OLE 'ImageConverter.ImageConverterX'; $c->convert($src, $dest, "-c JPG -log c:\\test\\Image.log"); print $c->ErrorMessage if -e $dest;
"Recebemos artes de clientes em todos os formatos imagináveis: PSD com camadas, TIFF CMYK para impressão offset, PNG com transparência, ocasionalmente RAW de fotógrafos. O Total Image Converter X normaliza tudo para TIFF CMYK pronto para impressão e um JPEG de pré-visualização web em um único pipeline. Cinco anos rodando nos servidores de codificação, sem surpresas. A taxa de processamento é de cerca de 40 imagens por segundo em nosso hardware, com entradas de 24 megapixels."
Erik W.
Senior Backend Developer at a print-on-demand platform
"Os corretores enviam fotos de anúncios direto de celulares e DSLRs — HEIC, RAW, JPEG enormes, de tudo. O Total Image Converter X redimensiona em três variantes responsivas e gera WebP para o site público. O wrapper .NET se encaixa no pipeline existente; a saída -log é uma linha estruturada por arquivo, fácil de enviar para o nosso agregador de logs. Headless no Windows Server Core, sem Office, sem Photoshop, sem surpresas de licenciamento."
Anjali K.
DevOps Engineer at a real-estate listings SaaS
"Arquivamos prontuários escaneados como TIFF multi-página e precisamos publicar cópias em PDF para o portal clínico. O Total Image Converter X lida com pilhas TIFF em escala de cinza de 600 DPI de forma confiável, aplica as marcas d'água que precisamos para auditoria e produz PDF/A no padrão ISO. A CLI é determinística entre execuções, o que importa para a cadeia de custódia. Cinco anos de conversões noturnas não supervisionadas, sem falhas que possamos atribuir ao conversor."
Paolo M.
CTO at a medical-imaging archive
"Incluímos o Total Image Converter X no nosso produto de gerenciamento de fotos sob a Royalty-Free License. A taxa única por projeto foi uma fração do que os wrappers comerciais baseados em ImageMagick cobravam por direitos de redistribuição. Nosso instalador entrega e registra o ActiveX, nosso aplicativo o chama diretamente e o usuário final vê apenas a nossa UI. A limitação de 32 bits do ActiveX nos custou alguns dias de retrabalho no pipeline, mas o suporte foi rápido quando perguntamos sobre soluções alternativas."
Greta H.
Independent Software Vendor
"Nossos lojistas enviam fotos de produtos em JPEG, PNG e ocasionalmente PSD com camadas embutidas. Precisamos de WebP limpo em três tamanhos além de uma faixa de miniaturas por produto. O Total Image Converter X nos dá saída determinística: mesma entrada, mesmas flags, bytes idênticos no disco. É isso que precisamos para a lógica de invalidação de cache do nosso CDN. Estável e previsível ao longo de quatro anos de uso em produção."
Hideo T.
Lead .NET Developer at an e-commerce platform
Atualizado Mon, 04 May 2026
(apenas $159.90)
new COM("ImageConverter.ImageConverterX") em PHP, new ImageConverterX() em .NET, win32com.client.Dispatch em Python, WIN32OLE.new em Ruby. Como alternativa, o binário de linha de comando ImageConverterX.exe pode ser invocado a partir de qualquer processo, agendador ou script de shell. O streaming direto de PDF via ConvertToStream também está disponível para respostas web em ASP/PHP.-r <WxH> para redimensionar (absoluto ou porcentagem), -Rotate <90|180|270> para rotação, -Flip Horizontal|Vertical para espelhar e -c <format> para a saída. Marcas d'água: -WatermarkText "Confidential" -WatermarkColor 0xFF0000 para texto ou -WatermarkImage logo.png para sobreposição de imagem. Profundidade de cor: -bpp 1|8|24. A conversão de CMYK para RGB é automática quando o formato de saída não suporta CMYK.-MultipageTIFF para combinar uma pasta de imagens de página única em um TIFF e -combine para mesclar várias imagens em um PDF. -Recurse percorre subdiretórios; -kfs espelha a estrutura de pastas no lado da saída, em vez de juntar tudo em um único local..md como formato de saída e o conversor executa OCR sobre a imagem de entrada (TIFF, JPEG, PNG, BMP, TIFF multi-página, PSD, WebP, RAW) e grava o texto reconhecido como GitHub-Flavored Markdown. TIFF multi-página e pastas de imagens são processados como sequências de documentos, com cada página virando uma seção; tabelas detectadas são preservadas como tabelas GFM em vez de serem achatadas em prosa. Um bloco YAML frontmatter carrega source_file, page_count, ocr_language, média de ocr_confidence, dpi de origem e espaço de cor, além de um hash binário. Faz parte do CoolUtils RAG Adapter — o mesmo contrato Markdown é compartilhado por todos os produtos Total Converter X.binary_hash para proveniência e um array chunks_hint. Habilite com -Docling na linha de comando. O JSON é independente do Markdown..md é GFM puro com um bloco YAML frontmatter, então o UnstructuredMarkdownLoader do LangChain, o MarkdownReader do LlamaIndex, o MarkdownToDocument do Haystack e as ferramentas de arquivo MCP do Claude Code lêem diretamente. Como a confiança do OCR é registrada no sidecar, consumidores downstream podem escolher descartar ou sinalizar regiões de baixa confiança antes de gerar embeddings. Para Claude, ChatGPT ou qualquer UI de chat, você pode colar o Markdown no contexto tal como está.ImageConverterX.exe "C:\scans\*.tif" "C:\rag\" -cMD -Docling -ocr -ocrlang eng -Recurse. -cMD seleciona Markdown; -Docling grava adicionalmente o sidecar .docling.json; -ocr habilita OCR; -ocrlang define o idioma de OCR (use strings multi-idioma como eng+rus para digitalizações com idiomas mistos); -Recurse percorre subdiretórios. TIFFs multi-página são tratados em uma única chamada. O Markdown resultante está pronto para particionar, gerar embeddings e indexar em qualquer vector store.Baixe a versão de teste gratuita e converta seus arquivos em minutos.
Não é necessário cartão de crédito ou email.