Search code examples
formspdfadobeaemattachment

AEM Forms (PDF Type) File Attachments


I am trying to implement file attachment to my AEM Form. The idea is to embed the attachment to the PDF; Upon submission of the PDF, the backend system will be able to extract the attached file from the PDF.

I can't seem to find any example on how I can go about doing it, which make me wonder is it a limitation. However, on adobe site below, it is actually stated "Support for file attachments" for all AEM form types.

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

Please advice! Thanks!


Solution

  • Below is the code for "Add Attachment" button.

    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;
    }
    

    Do note that Reader Extension is needed to enable file attachment. Else you will be getting this error:

    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