diff --git a/EnvelopeGenerator.Common/Jobs/FinalizeDocument/PDFBurner.vb b/EnvelopeGenerator.Common/Jobs/FinalizeDocument/PDFBurner.vb index ea4626cd..c6b61c78 100644 --- a/EnvelopeGenerator.Common/Jobs/FinalizeDocument/PDFBurner.vb +++ b/EnvelopeGenerator.Common/Jobs/FinalizeDocument/PDFBurner.vb @@ -68,7 +68,8 @@ Namespace Jobs.FinalizeDocument Private Function AddInstantJSONAnnotationToPDF(pInstantJSON As String) As Boolean Try Dim oAnnotationData = JsonConvert.DeserializeObject(Of AnnotationData)(pInstantJSON) - + oAnnotationData.annotations.Reverse() + Dim formFieldIndex = 0 For Each oAnnotation In oAnnotationData.annotations Logger.Debug("Adding AnnotationID: " + oAnnotation.id) Select Case oAnnotation.type @@ -82,9 +83,11 @@ Namespace Jobs.FinalizeDocument 'Add form field values Dim formFieldValue = oAnnotationData.formFieldValues.FirstOrDefault(Function(fv) fv.name = oAnnotation.id) If formFieldValue IsNot Nothing AndAlso Not _ignoredLabels.Contains(formFieldValue.value) Then - AddFormFieldValue(oAnnotation, formFieldValue) + AddFormFieldValue(oAnnotation, formFieldValue, formFieldIndex) + formFieldIndex += 1 End If End Select + Next Return True @@ -144,13 +147,17 @@ Namespace Jobs.FinalizeDocument End Function - Private Function AddFormFieldValue(pAnnotation As Annotation, formFieldValue As FormFieldValue) As Boolean + Private Function AddFormFieldValue(pAnnotation As Annotation, formFieldValue As FormFieldValue, index As Integer) As Boolean Try ' Convert pixels to Inches Dim oBounds = pAnnotation.bbox.Select(AddressOf ToInches).ToList() + Dim top_margin = 0.1 + + Dim y_offset = -0.3 + Dim oX = oBounds.Item(0) - Dim oY = oBounds.Item(1) + Dim oY = oBounds.Item(1) + y_offset * index + top_margin Dim oWidth = oBounds.Item(2) Dim oHeight = oBounds.Item(3)