我正在使用一个简单的控制台应用程序将infopath表单转换为PDF文件。以下是我如何解决这个问题的简要总结。
要点: 控制台应用程序创建一个窗体。加载表单(模态)时,我将一个infopath控件(Microsoft.Office.InfoPath.FormControl)添加到此窗口。此时我调用了infoPathControl.Open(myInfoPathFileStream)。所有这些都是在forloop中完成的。
问题: 随机应用程序将抛出异常(灾难性故障,堆损坏等),甚至更好,它偶尔会挂起而不会抛出错误。记录和调试让我相信它挂在了infoPathControl.Open(myInfoPathFileStream)调用中。显然,对于自动化过程,这是不可接受的。
尝试(但失败)解决方案
任何想法都会受到赞赏,因为我已经花了很多时间在这上面。
谢谢!
答案 0 :(得分:1)
不幸的是,你要做的事情是内部成本极高,你可能更适合购买工具来为你做。这是一个链接,它将指向一个广泛接受的工具,可以完成您正在寻找的工作。
让我知道这是否有助于你 - 作为一名软件工程师,我知道这违背了你内心的一切,但是你正面对着一个非常强大的墙。
答案 1 :(得分:1)
最后,解决方案是在其自己的可执行文件中运行infopath转换过程,并为成功,失败和特定类型的错误设置返回码。然后由超时的第二个可执行文件调用它。如果转换在一段时间内没有成功,它将被调用的可执行文件终止。这最终无法解决信息自动化自动化库中的问题,但它确实完成了我们所需要完成的工作。