I have a survey123 connect form with a "Signature" field. I have the XLSX spreadsheet listed in a repeat section. I have the "type" as image, Name: Signature, Label; Signature, Appearance as Signature. In my docx template I have ${Signature}. The signature does not print? I do have the bind::esri:field type listed as: esriFieldTypeString? not sure if this will cause the problem?
I have tried several variations of the Signature syntax which does not pass the spars test when uploaded in survey123 report templates? I have checked the feature layer and attachments are selected.
I have tried ${Signature_image}, ${Signature | Size:300:30} I have not found any further documention on how to print the signature on the report.
I've never used this functionality in Survey123, but it would seem to me that a signature would be stored as an image, not as text.
I forget: Is there an equivalent "esriFieldTypeBLOB" for the binding? That's typically how images are embedded in attribute tables within other areas of ArcGIS, such as Attachment Tables.
On a tangential note:
OCR to detect the name from the signature and convert it to a text string would be cool, but given how illegible most people's signatures tend to be (especially when recorded digitally), we're likely talking "space magic" levels of technology for that.
In the attribute table the signature image is stored as a .png with the name; signature 10-17-0.png. In the template syntax with ${Signature} (name of the field) when printing the form it prints the name of the png.
In the blind: dropdown i do not see or know of a equivalent "esriFieldTypeBLOB"?
For your signature field named ${Signature} calling it in the template as ${Signature} or ${Signature | Size:300:30} should be valid. However, since it is in a repeat you will need to open and close the repeat in the report template to access the signature image.
You would need to format it something like this:
${#Signature_Repeat} <-Needs to be the name of your repeat table make sure to include the #
${Signature} <-Calls the field named "Signature" from the repeat table
${/} <-Closes the repeat
https://doc.arcgis.com/en/survey123/browser/analyze-results/featurereport-repeats.htm
I'm not doing something correct, In the report template I placed the above suggestion. It did not work?
In the survey123 connect spreadsheet the repeat is named "inspection" I have the following;
Begin Repeat Inspection Inspection Report
At the bottom of the form, before closing the repeat I have
Image Signature Signature (appearance is Signature)
Date Signature_Date_1 Signature Date
text GlobalID Globalid
Image Inspection_image Image
End Repeat Inspection
At the beginning of the report I open the repeat with ${#inspection} At the end of my report template I have
Signature: ${Signature} Date: $Signature_Date_1}
${/}
What am I missing.
I've got good news and bad news.
The good news is that I got it to work fairly easily.
The bad news is the reason it didn't work is because the xlsx file has the bind::esri:fieldType column set to esriFieldTypeString for the signature image. It forces the field to be string even though you set it as an image for the question type, and you can't pull an image from a string field. It looks like you're using an existing service for the form, so you will need to check that feature service schema and see if the signature field is a string. I suspect it is, since when you create a form from an existing service it usually populates those. You will need to modify the feature service to include an attachment table for the signatures, which, if you're already collecting data in the feature service with other forms, will be inconvenient.