AEM表格(PDF类型)文件附件

时间:2017-10-23 05:41:59

标签: forms pdf adobe aem attachment

我正在尝试为我的AEM表单实现文件附件。我们的想法是将附件嵌入到PDF中;提交PDF后,后端系统将能够从PDF中提取附件。

我似乎找不到任何关于我如何去做的例子,这让我想知道这是一个限制。但是,在下面的adobe网站上,实际上已经说明了#34;支持文件附件"适用于所有AEM表单类型。

https://helpx.adobe.com/aem-forms/6/introduction-aem-forms.html

请指教!谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用HTML5表单上传,预览和提交附件。默认情况下,禁用附件支持。要启用附件支持:

1-使用mutiselect字符串属性mfAttachmentOptions创建自定义配置文件。

2-在自定义配置文件中,指定属性fileSizeLimit,multiSelect和buttonText以配置文件附件窗口小部件的选项。根据需要,您还可以指定更多自定义属性。

3-在自定义配置文件中,使用以下配置:

  • multiSelect - > true或false(默认为true)
  • fileSizeLimit - > value_in_mb(比如5)(默认为2 MB)
  • buttonText - >弹出窗口的按钮文本(默认为“附加”)
  • 接受 - >要接受的文件类型(默认情况下为“audio / ,video / ,image / ,text / ,。pdf”)

4-使用元数据编辑器选择您为HTML 5表单创建的自定义配置文件。

5-使用自定义配置文件呈现表单模板,附件图标将显示在表单工具栏上。

6-单击附件图标,将出现附件选择对话框。浏览并选择附件,然后单击“附加”。

启用附件后,HTML5表单会提交多部分数据。多部分提交数据包含两部分dataXml和附件。

参考:https://helpx.adobe.com/aem-forms/6-1/html5-forms/enabling-attachments-html5-form.html

答案 1 :(得分:0)

以下是"添加附件"的代码按钮。

var oDoc = event.target;
var doccount = parseInt(colhead.attcount.rawValue);
colhead.attcount.rawValue = doccount + 1;
Trusted_ImportDataObject(oDoc, doccount);
var oAttachment = oDoc.getDataObject("attachment_" + doccount);
var DOsize = oAttachment.size;
var DOmimeType = oAttachment.MIMEType;
if (DOmimeType == null) DOmimeType = "reject";
if ((DOsize > 1100000) || (DOmimeType.indexOf("image/") != 0)) {
    xfa.host.messageBox("Attachemtns must be an image and smaller than 1 Megabyte");
    oDoc.removeDataObject("attachment_" + doccount);
} else {    
    var attachPath = oAttachment.path;
    AttachFileName.rawValue = attachPath;
    AttachMIMEType.rawValue = oAttachment.MIMEType;
    AttachHref.rawValue = oAttachment.name;
}

请注意,需要Reader Extension才能启用文件附件。否则你会收到这个错误:

NotAllowedError: Security settings prevent access to this property or method.
Doc.importDataObject:6:XFA:CTR[0]:Page6[0]:part6[0]:body[0]:attachitem[0]:AddAttachment[0]:click