【问题标题】:Not able to Convert .dwg to .pdf using .Net and True View (AcCtrl)无法使用 .Net 和 True View (AcCtrl) 将 .dwg 转换为 .pdf
【发布时间】:2015-04-20 19:37:50
【问题描述】:

我想做的是:

我有一个 Asp Mvc 网站。在其中我需要创建一个执行以下操作的函数:

  • 将 .dwg (AutoCad) 文件转换为 .pdf 文件
  • 将 .dwg 文件转换为 .dwf 文件

我从我当时坚持的更简单的任务开始,将 .dwg 转换为 .pdf。经过一番研究,我发现一种方法(无需购买第 3 方许可证)是在服务器上安装 TrueView 并使用它(或实际上是 AcCtrl.dll)来转换文件。好吧,我这样做了。我安装了 True View 程序并添加了对 AcCtrl 组件 (ACCTRLLib) 的引用。然后我在我正在处理的类文件中添加了对 Dll 的引用:

using ACCTRLLib;

到目前为止一切顺利。之后我按照这篇文章的说明进行操作:PDF conversion using dwg true viewer in VB6

首先,这是我的代码:

public static void ConvertFile()
{    
    IAcCtrl contrl = new AcCtrl();
    contrl.PutSourcePath(@"D:\MMA\Autocat\File1.dwg");
    string[] pdfPath = new string[1] { @"D:\MMA\Autocat\File1.dwg" };
    contrl.SilentPublish(pdfPath);
}

然后根据帖子,我去看看有没有指定路径的注册表。我作为注册表的路径如下:

HKEY_CURRENT_USER\Software\Autodesk\DWG TrueView\R13\DWGVIEWR-E001:409\Profiles\>\Dialogs\AcPublishDlg

所以,我用 ValueName: Location 和 ValueData: D:\MMA\Autocat\Testing 在其中创建了一个“字符串值”

好的。就是这样了。毕竟我运行了应用程序并调用了函数。调试器遍历代码,一切都执行了(或者至少看起来像这样),但什么也没有发生。我在 D:\MMA\Autocat\Testing 文件夹中没有文件。我没有例外,没有任何警告。它只是执行,没有任何反应。

那么我还尝试了什么。其中一些事情尝试起来可能有点天真或愚蠢,但我还是这样做了,因为我碰巧有点绝望。

  1. 我在控制台应用程序中尝试了所有方法。我不完全确定这种方法是否适用于 ASP MVC,所以我在控制台应用程序中尝试了相同的代码,不幸的是得到了相同的结果。

  2. 我在位置字符串值中添加了一个文件名。我将 Location ValueData 从 'D:\MMA\Autocat\Testing' 更改为 'D:\MMA\Autocat\Testing\testFile.pdf',因为我注意到在整个过程中都没有要求转换文件的文件名。

  3. 根据上一个结论的想法,我尝试将“结果”文件的路径提供给 SilentPublish 函数。

    string[] pdfPath = new string[1] { @"D:\MMA\Autocat\Testing\testFile.pdf" }; contrl.SilentPublish(pdfPath);

再次无济于事。所以,我的问题,或者更确切地说,问题是:

是否可以这样做,如果这是我做错了什么? 如果不是,你能建议一种方法吗? 此外,如果可以进行 .dwg 到 .dwf 的转换(使用相同或不同的方法,我全神贯注)

非常感谢

【问题讨论】:

    标签: c# asp.net-mvc pdf autocad


    【解决方案1】:

    True View 不公开 Autodesk.AutoCAD.PlottingServices 命名空间。您将需要 AutoCAD、RealDWG 或其他第三方 API 的许可副本。

    【讨论】:

      【解决方案2】:

      我不确定您是否仍然遇到此问题,但您应该可以使用 Autodesk Forge API 解决此问题。可以通过简单的 HTTP 调用从任何语言进行调用。您必须先转换为 SVF,然后再转换为 DXF 和 PDF。

      【讨论】:

      • 这真的更像是一个评论。你能添加更多细节和例子吗?
      猜你喜欢
      • 2020-10-12
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 2021-04-20
      • 2011-09-11
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多