Я ищу некоторый инструмент командной строки, который позволяет мне преобразовывать dxf в любой другой формат.
Существует много векторных графических редакторов, которые поддерживают файлы DXF в различных степенях и имеют командную строку, преобразовывают возможности, включая dia
, inkscape
, и даже libreoffice
.
диаметр, кажется, поддерживает вход dxf и вывод png, например.
dia jcsample.dxf -e jcsample.png
или, с явными выходными размерами,
dia jcsample.dxf -s 744x1052 -e jcsample.png
однако результат был пустым файлом в первом случае и повредил во втором на файле примера, который я попробовал - у Вас может быть лучшая удача.
inkscape также, кажется, поддерживает ту же функциональность, например.
inkscape -f jcsample.dxf --export-png=jcsample.png
однако снова результат был нечитабелен. То, что действительно работало на inkscape, преобразовывало в Инкапсулированный формат PostScript сначала
inkscape -f jcsample.dxf --export-eps=jcsample.eps
и затем преобразовывая eps к png или jpeg, например, с помощью Ghostscript
gs -sDEVICE=png16m -dNOPAUSE -dBATCH -dSAFER -sOutputFile=jcsample.png jcsample.eps
или
gs -sDEVICE=jpeg -dJPEGQ=100 -dNOPAUSE -dBATCH -dSAFER -r100 -sOutputFile=jcsample.jpg jcsample.eps
[Обратите внимание, что тот же прием, казалось, не работал на dia
, даже при том, что это также поддерживает вывод PostScript]
Оборотная сторона с inkscape
это, фильтр импорта dxf открывается диалоговое окно для подтверждения масштабирования по умолчанию и кодирования, делая его не действительно неинтерактивным: насколько я знаю, что в настоящее время нет способа предотвратить это, хотя существует выдающийся запрос новых функций для него (добавление -z
или --without-gui
переключатель, кажется, не помогает).
libreoffice, кажется, работает непосредственно или к png или к jpg
libreoffice --headless --convert-to png jcsample.dxf
libreoffice --headless --convert-to jpg jcsample.dxf
однако на том же файле примера, получающимся изображениям масштабировали для соответствия централизованно на странице портрета; снова, решение может состоять в том, чтобы использовать промежуточный векторный формат, например, PDF
libreoffice --headless --convert-to pdf jcsample.dxf
pdfcrop jcsample.pdf
gs -sDEVICE=png16m -dNOPAUSE -dBATCH -dSAFER -sOutputFile=jcsample.png jcsample-crop.pdf
Извините это не единый ответ - но надо надеяться он даст Вам некоторые вещи попробовать.