2013-01-08 20 views
0

是否有一種簡單的方法可以在不打開AutoCad的情況下將dxf轉換爲pdf?我試圖通過在c#中使用AutoCad(ObjectARX)lib來做到這一點,但沒有結果。我試過的代碼是這樣的:從dxf轉換爲pdf的簡單方法

{ 

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

如果你可以右鍵點擊 - >打印從資源管理器中沒有的Autocad開放本身的文件,你可以只安裝PDFCreator的,而不必寫一行代碼(PDFCreator的可以以無需交互配置)。 – Alex

+0

我正在編寫一個工具,它可以自動完成所有這些工作,而不需要任何人機交互。用戶應該只選擇他想要的文件(.dxf文件),輸出應該是pdf。我不想右擊或類似的東西。謝謝! –

+0

嗨弗拉維奧,你找到了解決方案嗎? – Flappy

回答

0

你可以使用第三方軟件來做到這一點,只需搜索「DXF到PDF」,你會發現許多流行的DXF到PDF轉換器,而無需AutoCAD。

0

我想建議你使用AutoCAD 2013

我知道你不想打開的AutoCAD,但在2013版本說明,它帶有一個控制檯版本,功能齊全!

在此之前,我曾經制作了兩個應用程序,一個在DLL中加載到autocad中,另一個在每個文件中啓動/加載/處理。

使用AutoCAD的控制檯模式,啓動速度非常快,您可以爲每個文件創建一個腳本到print PDF

0
SaveFileDialog dlg = new SaveFileDialog(); 
dlg.Filter = "PDF (*.pdf)|*.pdf"; 
if (DialogResult.OK == dlg.ShowDialog()) 
{ 
    renderView.Renderer.Print(dlg.FileName); 
} 
相關問題