Total Image Converter X - правильное решение для настройки на веб-серверах.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Image Converter X — это серверный SDK, который конвертирует TIFF, JPEG, PNG, BMP, PSD, WebP, RAW (NEF, CR2, CR3, ARW, ORF, RAF, DNG и другие) и ещё более 35 форматов изображений — без внешних кодек-пакетов или фреймворков обработки изображений на сервере. Работает в headless-режиме: без графического интерфейса, без диалогов и всплывающих окон. Total Image Converter X поставляется как с консольной утилитой, так и с интерфейсом ActiveX/COM, поэтому встраивается в ASP, PHP, .NET, Python, Ruby, Java и любой другой COM-совместимый бэкенд. Полный список поддерживаемых форматов изображений:
Программа обрабатывает изображения на лету. Промежуточные файлы не нужны. Многопоточный движок конвертации максимизирует пропускную способность на многоядерных серверах.
Высокая скорость конвертации и пакетная обработка делают процесс простым и не утомительным. Попробуйте бесплатно (30-дневный пробный период без ограничений) и убедитесь, что программа стоит своих денег.
Некоторые из поддерживаемых на данный момент конверсий форматов:
|
|
|
(включает 30-дневный бесплатный пробный период)
(только $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;
"Мы принимаем макеты от клиентов во всех мыслимых форматах: PSD со слоями, CMYK TIFF для офсетной печати, PNG с прозрачностью, иногда RAW от фотографов. Total Image Converter X в одном конвейере приводит всё к готовому к печати CMYK TIFF и веб-превью JPEG. Пять лет на наших энкодер-серверах — никаких сюрпризов. Пропускная способность около 40 изображений в секунду на нашем железе при входе в 24 мегапикселя."
Erik W.
Senior Backend Developer at a print-on-demand platform
"Брокеры загружают фото объявлений прямо с телефонов и зеркалок — HEIC, RAW, гигантские JPEG, всё подряд. Total Image Converter X масштабирует их в три адаптивных варианта и пишет WebP для публичной части сайта. Обёртка для .NET вписывается в наш существующий конвейер; вывод -log — это одна структурированная строка на файл, легко отправляется в наш агрегатор логов. Headless на Windows Server Core, без Office, без Photoshop, без лицензионных сюрпризов."
Anjali K.
DevOps Engineer at a real-estate listings SaaS
"Мы архивируем отсканированные карты пациентов в виде многостраничных TIFF и публикуем PDF-копии для портала врачей. Total Image Converter X надёжно работает с 600-DPI grayscale TIFF-стопками, накладывает нужные нам водяные знаки для аудиторского следа и выдаёт PDF/A по стандарту ISO. CLI детерминирован между запусками, что важно для цепочки хранения. Пять лет ночных автоматических конвертаций — ни одного сбоя, который можно было бы списать на конвертер."
Paolo M.
CTO at a medical-imaging archive
"Встроили Total Image Converter X в наш продукт для управления фотографиями по Royalty-Free лицензии. Разовая плата за проект оказалась лишь долей того, что коммерческие обёртки на базе ImageMagick хотели за права на распространение. Наш установщик ставит и регистрирует ActiveX, наше приложение вызывает его напрямую, конечные пользователи видят только наш UI. Ограничение в 32 бита у ActiveX стоило нам пары дней на переделку конвейера, но поддержка отвечала быстро, когда мы спрашивали про обходные пути."
Greta H.
Independent Software Vendor
"Наши продавцы загружают фото товаров в JPEG, PNG и иногда PSD со встроенными слоями. Нам нужны чистые WebP в трёх размерах плюс лента превью на каждый товар. Total Image Converter X даёт детерминированный вывод: одинаковый вход, одинаковые флаги — бит-в-бит идентичные байты на диске. Это именно то, что нужно нашей логике инвалидации CDN-кэша. Стабильно и предсказуемо за четыре года продакшена."
Hideo T.
Lead .NET Developer at an e-commerce platform
Обновлено Mon, 04 May 2026
(только $159.90)
new COM("ImageConverter.ImageConverterX") в PHP, new ImageConverterX() в .NET, win32com.client.Dispatch в Python, WIN32OLE.new в Ruby. В качестве альтернативы консольный бинарник ImageConverterX.exe можно вызвать из любого процесса, планировщика или shell-скрипта. Также доступна прямая потоковая передача PDF через ConvertToStream для веб-ответов ASP/PHP.-r <WxH> для изменения размера (абсолютное или в процентах), -Rotate <90|180|270> для поворота, -Flip Horizontal|Vertical для зеркального отражения и -c <format> для выбора выходного формата. Водяные знаки: -WatermarkText "Confidential" -WatermarkColor 0xFF0000 для текста или -WatermarkImage logo.png для наложения изображения. Глубина цвета: -bpp 1|8|24. Преобразование CMYK в RGB происходит автоматически, когда выходной формат не поддерживает CMYK.-MultipageTIFF, чтобы объединить папку одностраничных изображений в один TIFF, и -combine, чтобы объединить несколько изображений в один PDF. -Recurse обходит подкаталоги; -kfs зеркалит структуру папок на выходе вместо того, чтобы складывать всё в одну корзину.Скачайте пробную версию и конвертируйте файлы за считанные минуты.
Не требуется ни банковская карта, ни email.