[英]Extracting XML from XMLFormView
有没有办法让 XML 出现在 XMLFormView 中? 我正在尝试为 InfoPath 表单创建一个带有“另存为 PDF”按钮的自定义 web 部件。 想法是将 XML 与表单的 XSL 结合起来,并将生成的 HTML 转换为 PDF,并作为弹出窗口呈现给用户。
因为它要以弹出窗口的形式呈现,所以不能选择使用 Workflows。
此属性将为您提供基础 XML 文件的 Url。 您可以阅读 Stream 阅读器来阅读此 XML。
看看我的 codeplex 项目http://ip2html.codeplex.com/
它允许您从给定的 (InfoPath) XML & (XMLFormView) XSLT 生成 HTML。
We ended up using the XmlFormHostItem.NotifyHost
method to send HTML to a custom web part in a button-clicked event, which converted the HTML to PDF using Winnovative HTML to PDF converter.
HTML 从 InfoPath 代码隐藏生成:
var formData = new XmlDocument();
var xslt = new XslCompiledTransform(true);
// Load the form data
formData.LoadXml(MainDataSource.CreateNavigator().InnerXml);
// Extract the stylesheet from the package
xslt.Load(ExtractFromPackage("Print.xsl")); // (uses Template.OpenFileFromPackage(string fileName) to get xsl)
// Perform XSL-transformation
// [...]
// Send HTML to web part
this.NotifyHost(formData.InnerXml);
此方法的一个缺点是每个表单仅触发一次 NotifyHost 事件,因此如果用户单击“另存为 PDF”然后取消,他必须重新加载表单才能保存为 PDF。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.