Конвертация DWG, DXF, PLT, HPGL в PDF и TIFF на серверах Windows — без AutoCAD.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total CAD ConverterX — это серверный SDK, который конвертирует чертежи DWG, DXF, DWF, PLT, HPGL, SVG и CGM в PDF, TIFF, JPEG, PNG, BMP, WMF и DXF — без AutoCAD, установленного на сервере. Он работает headless: без GUI, без диалогов, без кликов. Total CAD ConverterX поставляется с консольной утилитой и интерфейсом ActiveX/COM, поэтому встраивается в ASP, PHP, .NET, Python, Ruby, Java и любой другой COM-совместимый бэкенд.
Поддерживаемые исходные форматы: dxf, dwg, dwf, plt, hg, hgl, hpg, plo, hp, hpl, hpgl, hp1, hp2, hpgl2, gl2, spl, prn, svg, cgm.
Total CAD ConverterX имеет уникальные опции для пакетного преобразования нескольких файлов CAD за раз:
Ищете решения на серверной основе? Откройте для себя ряд серверных продуктов, обеспечивающих надежную работу, на странице CoolUtils Server Products.
Если вам нужны примеры на языках программирования, пожалуйста, свяжитесь с нами. Мы создадим любой пример для вас.
(включает 30-дневный бесплатный пробный период)
(только $950.00)
string src = @"C:\test\Source.dwg";
string dest = @"C:\test\Dest.pdf";
var cnv = new CADConverterX();
cnv.Convert(src, dest, "-c PDF -log c:\\test\\CAD.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
Загрузить пример .NET CAD Converter
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("начато...");
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\CADConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var msgPath = $@"{assemblyDirectoryPath}\MSG\MSG-1.dwg";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(msgPath))
{
sbLogs.AppendLine("файлы существуют...");
}
else
sbLogs.AppendLine("файлы EXE и MSG НЕ существуют...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{msgPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"ожидание...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"завершено...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("сон...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Конвертация успешно завершена.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("CADConverter.CADConverterX")
C.Convert "c:\test\source.dwg", "c:\test\dest.pdf", "-cPDF -log c:\test\CAD.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("CADConverter.CADConverterX")
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.dwg", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
Пример PHP:
$src="C:\\test\\test.dwg";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("CADConverter.CADConverterX");
$c->convert($src,$dest, "-c pdf -log c:\\test\\Mail.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('CADConverter.CADConverterX')
src="C:\\test\\test.dwg";
dest="C:\\test\\test.pdf";
c.convert(src,dest, "-c PDF -log c:\\test\\CAD.log");
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("CADConverter.CADConverterX")
src="C:\\test\\test.dwg";
dest="C:\\test\\test.pdf";
c.convert(src, dest, "-c PDF -log c:\\test\\CAD.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c:=CreateOleObject('CADConverter.CADConverterX');
C.Convert('c:\test\source.dwg', 'c:\test\dest.pdf', '-cPDF -log c:\test\CAD.log');
IF c.ErrorMessage<>'' Then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("CADConverter.CADConverterX");
c.Convert("C:\\test\\source.dwg", "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage!="")
alert(c.ErrorMessage)
use Win32::OLE; my $src="C:\\test\\test.dwg"; my $dest="C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'CADConverter.CADConverterX'; $c->convert($src,$dest, "-c pdf -log c:\\test\\CAD.log"); print $c->ErrorMessage if -e $dest;
"В прошлом году заменили наш DWG-to-PDF микросервис на базе AutoCAD на Total CAD ConverterX. Мы платили за лицензии AutoCAD на трёх конвертерных VM только ради того, чтобы один-единственный COM-скрипт автоматизации мог работать. Теперь на этих VM не работает ничего, кроме CADConverterX.exe за очередью. Задержка конвертации упала примерно с 25 секунд на чертёж до 4 секунд, а годовой счёт за лицензии сократился на порядок. Интеграция ActiveX с нашим .NET-воркером заняла полдня."
Marko D.
Senior Backend Developer
"Мы запускаем Total CAD ConverterX внутри контейнера Windows Server Core как часть Azure-пайплайна. Клиенты загружают DWG, очередь их забирает, конвертер выдаёт архивный PDF/A, файлы уходят в blob storage. Никакого GUI, никакого AutoCAD, никаких сюрпризов с лицензиями. Флаг -log даёт нам построчный лог для каждого файла, который сразу попадает в наш агрегатор логов. Настройка прошла без проблем: зарегистрировать COM, смонтировать рабочий каталог, готово."
Anita V.
DevOps Engineer
"Мы принимаем клиентские чертежи в любом формате, который присылают: DWG, PLT, HPGL2, SVG — всё подряд. Наш приёмный портал вызывает Total CAD ConverterX через PHP COM-интерфейс и формирует превью PDF до того, как оператор начнёт плоттинг. То, что PLT и HPGL2 просто работают из коробки — именно поэтому мы выбрали этот продукт, а не альтернативы. Большинство CAD-библиотек сосредоточены на DWG и относятся к плоттерным форматам как к второсортным."
Stefan K.
CTO at a printing & plotting bureau
"Включили Total CAD ConverterX в наш продукт для управления чертежами по Royalty-Free License. Разовая плата за проект оказалась небольшой долей того, что мы платили предыдущему вендору в виде посерверных отчислений за распространение. Наш инсталлятор поставляет ActiveX, регистрирует его при установке, и наше приложение вызывает его напрямую. Клиенты конвертера никогда не видят. Поддержка реагировала оперативно каждый раз, когда мы натыкались на необычный edge case формата."
Paolo F.
Independent Software Vendor
"Достойная замена COM-автоматизации AutoCAD, которую мы использовали для пакетной конвертации DXF в PDF во внутреннем asset-workflow. Прежняя схема требовала полную установку AutoCAD на машине-конвертере и ломалась после каждого обновления AutoCAD. Total CAD ConverterX работает как обычный Windows-бинарник и переживает безнадзорные ночные прогоны. Документация местами могла бы быть подробнее (пришлось спрашивать поддержку про пару CLI-флагов), но на каждый вопрос мы получали полезный ответ в течение рабочего дня."
Lena B.
Lead .NET Developer
Total CAD ConverterX поставляется с CADConverterX.exe — консольной программой, которую можно запускать из скриптов, планировщика задач, CI-раннеров или любого серверного сервиса. Набор флагов соответствует GUI-версии CADConverter.exe; полный справочник смотрите в документации командной строки. Приведённые ниже рецепты охватывают сценарии, о которых чаще всего спрашивают клиенты SDK.
Минимально возможный вызов — один исходный файл, один вывод, один целевой формат.
CADConverterX.exe "C:\drawings\plan.dwg" "C:\out\plan.pdf" -cPDF
Обработайте каждый DWG в папке и положите PDF в соседнюю папку вывода.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cPDF
Замените маску на *.dxf, *.plt, *.hpgl и т. д., чтобы выбрать другой исходный формат.
Архитектурные и инженерные проекты редко лежат в одной плоской папке. -Recurse обходит подкаталоги; -kfs воссоздаёт ту же структуру на стороне вывода вместо того, чтобы сваливать всё в одну корзину.
CADConverterX.exe "C:\projects\AcmeTower\*.dwg" "C:\out\AcmeTower\" -cPDF -Recurse -kfs
Типичная поставка CAD — альбом: десятки листов, которые принадлежат друг другу. -combine сливает их в один PDF в порядке исходных файлов.
CADConverterX.exe "C:\projects\AcmeTower\sheets\*.dwg" "C:\out\AcmeTower-album.pdf" -cPDF -combine
Используйте -sort name или -sort numbers, чтобы управлять порядком листов, и -cimt onefile при выводе в многостраничный TIFF вместо PDF.
Для обмена данными между CAD-инструментами или для встраивания чертежей на веб-страницу выводите в векторный формат, отличный от PDF.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cDXF
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cSVG
Архивы чертежей долгого хранения обычно черно-белые TIFF со сжатием G4 fax — маленькие на диске, без потерь, принимаются любым просмотрщиком.
CADConverterX.exe "C:\drawings\*.dwg" "C:\archive\" -cTIF -dpi 600 -cm bw -tc G4FAX
Снизьте -dpi до 300 для экранных копий рецензирования или поднимите до 1200, если файл пойдёт на широкоформатный плоттер.
Как только CADConverterX.exe работает как сервис или плановое задание, единственный способ узнать, что произошло, — лог. -verbosity detail пишет по строке на файл; -logmode append сохраняет историю между запусками.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cPDF -log "C:\logs\cadconv.log" -verbosity detail -logmode append
Когда воркер пишет файл-очередь, а конвертер его разбирает, не нужно зашивать пути к файлам в саму командную строку. -list читает маски файлов (по одной на строку) из текстового файла.
CADConverterX.exe -list "C:\queues\batch.txt" "C:\out\" -cPDF
Стандарт для отправки чертежей субподрядчикам: пароль владельца блокирует права на редактирование/печать, пароль пользователя ограничивает открытие файла, а водяной знак маркирует каждую страницу.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy -wmt "CONFIDENTIAL"
Замените Copy любой комбинацией Modify, Annotation, FormFill, HighResPrint, чтобы предоставить именно те права, которые вы хотите.
Для рабочих процессов управления записями, требующих PDF/A по ISO 19005 с надлежащими авторскими метаданными.
CADConverterX.exe "C:\drawings\*.dwg" "C:\archive\" -cPDF -pdfa -PDFAuthor "Acme Engineering" -PDFTitle "Tower Project Phase 2" -PDFSubject "As-built drawings"
Обновлено Fri, 01 May 2026
(только $950.00)
new COM("CADConverter.CADConverterX") в PHP, new CADConverterX() в .NET, win32com.client.Dispatch в Python, WIN32OLE.new в Ruby и CreateOleObject в Pascal/Delphi. На странице выше есть готовые к копированию примеры кода для каждого языка. Альтернативно, бинарник командной строки CADConverterX.exe может быть вызван из любого процесса, планировщика или shell-скрипта.mcr.microsoft.com/windows/servercore, и зарегистрируйте ActiveX во время сборки образа.-combine включает слияние в один файл; -sort name или -sort numbers управляет порядком листов. Это стандартный workflow для сборки многолистового набора чертежей в один итоговый PDF.Скачайте пробную версию и конвертируйте файлы за считанные минуты.
Не требуется ни банковская карта, ни email.