如何以编程方式创建.xsn(InfoPath)文件

时间:2012-09-12 01:11:25

标签: c# xslt infopath-2007

我们有一个第三方组件,它将INPUT作为.xsn(InfoPath2007)文件并提供预先确定的输出。一切都很好,直到我们的客户之一决定不再使用MS-InfoPath,因此即使我们的第三方组件也无法运行,因为我们无法创建xsn文件(由人类InfoPath用户创建直到现在,直到InfoPath在他们的小组中停止了... ...所以我们面临的挑战是以编程方式创建这些SIMPLE(文本框,下拉列表,日期选择器和检查 - 无线电盒控件)InfoPath类似的形式 - .XSN文件。这可能吗?是否有任何API或基于对象模型的功能可用于此任务。我们的团队主要是C#开发人员。我们当前的分析表明,经过一些仔细的编码后,与.XSN的清单,XML,J脚本部分有关的文件可能是可以实现的......但是XSL(与布局相关的部分)似乎是一个很大的赌博。关于这个主题的任何指示将不胜感激。

  

更新(因为问题陈述似乎尚不清楚):
  我们不希望将InfoPath表单转换为任何HTML或类似格式。   现在,我们需要以.xsn文件格式以编程方式创建一些简单的(预先确定的控件类型及其已知数据)InfoPath表单。我们希望以编程方式完成此操作,因为早些时候它是由一个不再订阅InfoPath许可的人类客户端完成的,并且因为各种人力资源原因而雇用另一个人来执行此操作。所以这个“以编程方式”创建的xsn文件被送入这个第三方组件。然后,这个第三方组件读取xsn-input中的各个部分并对其进行操作,进入输出自定义文件格式,以便自定义“工作流程组件”继续向前工作...所以希望你得到更大的现在图片。现在一个xsn文件本质上是一个CAB文件,由许多部件组成,如清单,xsL,xsD,xmL,图像,jScript等。所以现在如果我有一个winforms或ASP.NET webform ...是否有可能写一些组件(使用InfoPath对象模型或API),可以读取此winform的UI控件,然后提出需要进入xsL,xmL,manifest等的基本要素,以便“集体压缩”到InfoPath表单中!!!

1 个答案:

答案 0 :(得分:2)

是的,可以自动创建InfoPath模板表单。 XSN只是一个文件夹文件(.CAB),扩展名重命名为.xsn。

要进一步了解CAB文件的内容以及它们的作用,请点击以下链接:

A beginner's guide to forms and form templates

以下是可以帮助您进一步帮助的链接。

Microsoft Cabinet Software Development Kit

A relevant Q&A to open CAB through C# program