Windows 서버에서 DWG, DXF, PLT, HPGL을 PDF 및 TIFF로 변환 — AutoCAD 없이.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total CAD ConverterX는 DWG, DXF, DWF, PLT, HPGL, SVG, CGM 도면을 PDF, TIFF, JPEG, PNG, BMP, WMF, DXF로 변환하는 서버 측 SDK입니다 — 서버에 AutoCAD가 설치되어 있지 않아도 됩니다. 헤드리스로 실행됩니다: 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 서버 제품에서 강력한 성능을 제공하기 위해 맞춤 제작된 다양한 서버 제품을 확인하십시오.
프로그래밍 언어에 대한 예제가 필요하시면 문의해 주세요. 원하는 예제를 만들어 드리겠습니다.
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);
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\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("files exists...");
}
else
sbLogs.AppendLine("EXE & MSG files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{}msgPath 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("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
Example 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;
"작년에 AutoCAD 기반 DWG-to-PDF 마이크로서비스를 Total CAD ConverterX로 교체했습니다. 단일 COM 자동화 스크립트를 실행하기 위해 세 개의 변환기 VM에서 AutoCAD 시트 비용을 지불하고 있었습니다. 이제 그 VM들은 큐 뒤에서 CADConverterX.exe만 실행합니다. 변환 지연 시간이 도면당 약 25초에서 4초로 떨어졌고, 연간 라이선스 비용은 한 자릿수만큼 줄었습니다. .NET 워커와의 ActiveX 통합은 반나절이 걸렸습니다."
Marko D.
Senior Backend Developer
"Azure 파이프라인의 일부로 Windows Server Core 컨테이너 내에서 Total CAD ConverterX를 실행합니다. 고객이 DWG를 업로드하면 큐가 그것들을 가져오고, 변환기는 PDF/A 보관용 출력을 렌더링하여 파일을 blob 스토리지로 보냅니다. GUI 없음, AutoCAD 없음, 라이선스 관련 깜짝 비용 없음. -log 플래그는 파일별 라인을 제공하여 로그 집계기로 바로 들어갑니다. 설정은 간단했습니다: COM 등록, 작업 디렉터리 마운트, 끝."
Anita V.
DevOps Engineer
"고객 도면을 클라이언트가 보내는 모든 형식으로 받습니다: DWG, PLT, HPGL2, SVG 등 모두. 우리의 접수 포털은 PHP COM 인터페이스를 통해 Total CAD ConverterX를 호출하고 운영자가 플로팅을 시작하기 전에 미리보기 PDF를 생성합니다. PLT와 HPGL2가 그냥 작동한다는 사실이 다른 대안보다 이것을 선택한 이유입니다. 대부분의 CAD 라이브러리는 DWG에 집중하고 플로터 형식을 2등 시민으로 취급합니다."
Stefan K.
CTO at a printing & plotting bureau
"Royalty-Free 라이선스로 Total CAD ConverterX를 도면 관리 제품에 번들로 제공했습니다. 프로젝트당 일회성 요금은 이전 공급업체에 시트당 재배포 로열티로 지불하던 것의 일부에 불과했습니다. 우리의 설치 프로그램은 ActiveX를 함께 제공하고 설정 중에 등록하며, 우리 애플리케이션이 직접 호출합니다. 클라이언트는 변환기를 절대 보지 못합니다. 비정상적인 형식 엣지 케이스가 발생할 때마다 지원이 신속하게 응답해 주었습니다."
Paolo F.
Independent Software Vendor
"내부 자산 워크플로의 일괄 DXF-to-PDF에 사용하던 AutoCAD COM 자동화의 견실한 대체품입니다. 이전 설정은 변환 박스에 전체 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를 사용하고, PDF 대신 다중 페이지 TIFF를 대상으로 할 때 -cimt onefile을 사용하세요.
CAD 도구 간 데이터 교환이나 웹 페이지에 도면을 임베드하려면 PDF가 아닌 벡터 형식으로 렌더링하세요.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cDXF
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cSVG
장기 청사진 아카이브는 일반적으로 G4 팩스 압축을 사용한 흑백 TIFF입니다 — 디스크에 작고, 무손실이며, 모든 뷰어가 받아들입니다.
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의 조합으로 바꾸어 원하는 권한을 정확히 부여하세요.
적절한 작성 메타데이터가 있는 ISO 19005 호환 PDF/A 파일이 필요한 기록 관리 워크플로우용입니다.
CADConverterX.exe "C:\drawings\*.dwg" "C:\archive\" -cPDF -pdfa -PDFAuthor "Acme Engineering" -PDFTitle "Tower Project Phase 2" -PDFSubject "As-built drawings"
new COM("CADConverter.CADConverterX"), .NET에서는 new CADConverterX(), Python에서는 win32com.client.Dispatch, Ruby에서는 WIN32OLE.new, Pascal/Delphi에서는 CreateOleObject. 위 페이지에는 각 언어에 대해 바로 붙여넣을 수 있는 코드 샘플이 포함되어 있습니다. 또는 CADConverterX.exe 명령 줄 바이너리를 모든 프로세스, 스케줄러 또는 셸 스크립트에서 호출할 수 있습니다.mcr.microsoft.com/windows/servercore와 같은 Windows 컨테이너를 기반으로 이미지를 만들고 이미지 빌드 중에 ActiveX를 등록하십시오.-combine 명령 줄 플래그는 단일 파일 병합을 활성화합니다; -sort name 또는 -sort numbers는 시트 순서를 제어합니다. 이는 다중 시트 도면 세트를 단일 PDF 결과물로 조립하기 위한 표준 워크플로입니다.무료 평가판을 다운로드하고 몇 분 만에 파일을 변환하세요.
신용카드나 이메일이 필요하지 않습니다.