【问题标题】:How to print dwg file in c#如何在c#中打印dwg文件
【发布时间】:2012-01-17 17:39:45
【问题描述】:

我想在我的 c# 项目中以编程方式打印一个 dwg 文件而不打开 AutoCad。我的应用程序是基于网络的,我的文件位于共享文件夹中。我不知道该怎么做?

【问题讨论】:

  • 打印到打印机或 PDF 或什么的?你可能也对这个问题感兴趣:Open source cad drawing (dwg) library in C#
  • @ROMANARMY,感谢您的回复,我想打印到我网络中的打印机。
  • 请帮帮我...我该怎么办????

标签: c# winforms dwg


【解决方案1】:

这有点棘手 - 你可以使用微软的print命令,与System.Diagnostics.Process结合使用:

文件扩展名 DWG 属于 Autocad - 因此当 Windows 尝试对这个文件使用“打印”时, 它将使用 AutoCad 打印

试试这个:

using System.Diagnostics;

static void printDWGFile(string f)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "print";
startInfo.Arguments = f;
Process.Start(startInfo);
}

然后调用:

printDWGFile("c:/Some-Autocad-File.dwg");

祝你好运!

【讨论】:

  • 并不真正满足问题的“不打开 AutoCAD”部分。可能是他没有在将要执行此操作的计算机上安装 AutoCAD(或者它可能是批处理的一部分)。
  • @Shai,谢谢。我已经尝试过你的方法,但任何事情都发生了。只是一个命令行窗口快速打开和关闭。
  • @M_Mogharrabi 如果您尝试通过 cmd.exe 执行此操作会发生什么?转到 Start->Run...->cmd.exe (按回车) 假设 DWG 文件名为 file1.dwg,尝试运行 print file1.dwg 看看会发生什么
  • @Shai,我已经尝试过你的解决方案,我收到了这条消息:“file1.dwg is current being printing”,但什么也没发生。这是什么意思?
  • 你能确定 .dwf 文件与 AutoCad 相关联吗? (即尝试双击一个 .dwg 文件,看看它是否打开)
【解决方案2】:

您需要一个可以读取/渲染 DWG 文件的 .NET 组件,请查看例如CadLib。开放设计联盟也有一个带有 .NET 包装器的 C++ 组件:http://opendesign.com/the_oda_platform/teigha_dot_net

【讨论】:

    猜你喜欢
    • 2011-01-26
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多