【问题标题】:SharePoint 2010 and InfoPathSharePoint 2010 和 InfoPath
【发布时间】:2016-05-04 09:52:01
【问题描述】:

我在带有 Windows 7 操作系统的 IE 11 上使用 SharePoint 2010 和 InfoPath 2010。

我有一个 InfoPath 表单,我希望用户能够填写数据并可以选择下载副本(包含数据),作为 pdf 或 word 文档 - 另存为功能。

我在 InfoPath 填充程序 (office 2010) 中看到我可以执行此“另存为 PDF”功能,但在 SharePoint 2010 中无法执行。是否有我缺少的设置或者我必须走扩展 SharePoint 基础的路线 w/ ASP.NET?

谢谢

【问题讨论】:

    标签: sharepoint-2010 infopath


    【解决方案1】:

    抱歉,没有符合您要求的本机 SharePoint 2010 功能。但是您可以购买一些 3rd 方工具,或者,当然,按照您自己的建议并追求自定义选项。

    【讨论】:

      【解决方案2】:

      我为 SP2010 创建了一个 shim,它将导致 sharepoint 2010 站点中的所有 Infopath 表单下载,只要该表单的链接位于 Sharepoint 2010 中。您需要 jquery 1.12 才能运行。

      $(function() {
          if (document.getElementsByTagName('BODY')[0].innerHTML.indexOf('.xsn') != -1) {        
      
              $('a[href$=".xsn"]').each(function(index) {
                  var self = $(this); 
                  var fileLocation = '';  
                  var spDownloadsUrl = '/_layouts/download.aspx?SourceUrl=';         
      
                  //GRAB LINK'S HREF LINK PATH AND URI ENCODE IT
                  var currentUrl = encodeURI(self.attr('href'));
      
                  //IF THE HREF IS TO A NETWORK FILE LOCATION EXIT THE PROCESS AND LEAVE IT ALONE
                  if (currentUrl.indexOf('file:') != -1) {
                      return;
                  }
      
                  //SHAREPOINT 2010 DOC LIST ELEMENTS HAVE INLINE JS ALTERING THE LINK BEHAVIOR, SO THEY NEED TO BE REMOVED
                  self.removeAttr('onclick');
                  self.removeAttr('onmousedown');
                  self.removeAttr('onfocus');
      
                  //IF THE LINK'S URL IS ABSOLUTE PATH, BUILD IT AS RELATIVE
                  if (currentUrl.indexOf('.com') != -1) {  
                      var urlSplitOnDotCom = currentUrl.split('.com');              
                      var urlAfterDotCom = urlSplitOnDotCom[1];
                      var urlPartsArr = urlAfterDotCom.split('/');
      
                      //REBUILD URL FROM ARRAY
                      var newPathname = "";
                      for (i = 1; i < urlPartsArr.length; i++) {
                        newPathname += "/";
                        newPathname += urlPartsArr[i];
                      }                
      
                      fileLocation = newPathname;     
      
                  } else {
                      fileLocation = currentUrl;
                  }                        
      
                  //ADD NEW URL TO INFOPATH FILE'S HREF ATTRIBUTE
                  self.attr('href', spDownloadsUrl + fileLocation);                           
              });        
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多