有没有一种简单的方法可以在不打开AutoCad的情况下从dxf转换为pdf?我尝试在c#中使用AutoCad(ObjectARX)lib,但没有结果。我试过的代码是:
{
SaveFileDialog savedlg = new SaveFileDialog();
string st = savedlg.FileName;
int fileExtPos = st.LastIndexOf(".");
if (fileExtPos >= 0)
st = st.Substring(0, fileExtPos);
AcadDocument doc = AcApp.ActiveDocument;
AcadSelectionSet ss = doc.SelectionSets.Add("MySet");
ss.Select(AcSelect.acSelectionSetAll, null, null, null, null);
try
{
if (ss.Count > 0)
{ doc.Export(st, "pdf", ss);
MessageBox.Show("Saved....");
AcApp.Quit();
}
}
finally
{
ss.Delete();
}
}
从这里提取:Convert from dwg to pdf
我不确定,但似乎此特定解决方案仅在您打开AutoCad时才有效(请参阅AcadDocument doc = AcApp.ActiveDocument;
行)。
你知道比这更好的解决方案吗?或者你能看出这个解决方案中的错误在哪里?解决方案可以是任何语言,所以如果你知道任何其他语言的任何其他解决方案,请告诉我。
答案 0 :(得分:0)
您可以使用第三方软件来做到这一点,只需搜索“dxf to pdf”,您就会发现许多流行的dxf到pdf转换器,而无需使用AutoCAD。
答案 1 :(得分:0)
我建议您使用AutoCAD 2013。
我知道您不想打开完整 AutoCAD,但是在说明2013版本时,它附带了 console 版本,功能齐全!
在此之前,我曾经制作过两个应用程序,一个在DLL中加载到autocad中,另一个用于启动/加载/处理每个文件。
使用AutoCAD的控制台模式,启动速度非常快,您可以制作一个脚本来打印PDF 以执行每个文件。
答案 2 :(得分:0)
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "PDF (*.pdf)|*.pdf";
if (DialogResult.OK == dlg.ShowDialog())
{
renderView.Renderer.Print(dlg.FileName);
}