0

有没有一种简单的方法可以在不打开 AutoCad 的情况下从 dxf 转换为 pdf?我尝试通过在 c# 中使用 AutoCad (ObjectARX) 库来做到这一点,但没有结果。我试过的代码是这样的:

{

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;行)。

你知道比这更好的解决方案吗?或者你能看到这个解决方案的错误在哪里吗?解决方案可以是任何语言,所以如果您知道任何其他语言的解决方案,请告诉我。

4

3 回答 3

0

我想建议您使用 AutoCAD 2013。

我知道您不想打开完整的 AutoCAD,但说明在 2013 版本,它带有 控制台版本,功能齐全!

在此之前,我曾经制作过两个应用程序,一个在 DLL 中加载到 autocad 中,另一个用于启动/加载/处理每个文件。

使用启动速度非常快的 AutoCAD 控制台模式,您可以制作一个脚本来打印 PDF以针对每个文件执行。

于 2014-11-18T17:13:02.923 回答
0

您可以使用第三方软件来执行此操作,只需搜索“dxf to pdf”,您会发现许多流行的 dxf to pdf 转换器,无需 AutoCAD。

于 2013-02-05T03:49:31.127 回答
0
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "PDF (*.pdf)|*.pdf";
if (DialogResult.OK == dlg.ShowDialog())
{
    renderView.Renderer.Print(dlg.FileName);
}
于 2018-01-05T13:40:36.093 回答