refactor(AnnotationData): add SignatureAnnotations-getter method to split signatures

This commit is contained in:
tekh 2025-10-06 17:08:44 +02:00
parent b02cc3d7a4
commit 320b2ecc77

View File

@ -76,35 +76,35 @@ Namespace Jobs.FinalizeDocument
Dim isSeal = True 'First element is signature seal Dim isSeal = True 'First element is signature seal
Dim formFieldIndex = 0 Dim formFieldIndex = 0
For Each oAnnotation In oAnnotationData.annotations For Each oAnnotation In oAnnotationData.annotations
Logger.Debug("Adding AnnotationID: " + oAnnotation.id) Logger.Debug("Adding AnnotationID: " + oAnnotation.id)
Select Case oAnnotation.type Select Case oAnnotation.type
Case ANNOTATION_TYPE_IMAGE Case ANNOTATION_TYPE_IMAGE
If (isSeal) Then If (isSeal) Then
oAnnotation.bbox.Item(1) = yPosOfSigAnnot oAnnotation.bbox.Item(1) = yPosOfSigAnnot
End If End If
AddImageAnnotation(oAnnotation, oAnnotationData.attachments) AddImageAnnotation(oAnnotation, oAnnotationData.attachments)
Exit Select Exit Select
Case ANNOTATION_TYPE_INK Case ANNOTATION_TYPE_INK
AddInkAnnotation(oAnnotation) AddInkAnnotation(oAnnotation)
Exit Select Exit Select
Case ANNOTATION_TYPE_WIDGET Case ANNOTATION_TYPE_WIDGET
'Add form field values 'Add form field values
Dim formFieldValue = oAnnotationData.formFieldValues.FirstOrDefault(Function(fv) fv.name = oAnnotation.id) Dim formFieldValue = oAnnotationData.formFieldValues.FirstOrDefault(Function(fv) fv.name = oAnnotation.id)
If formFieldValue IsNot Nothing AndAlso Not _pdfBurnerParams.IgnoredLabels.Contains(formFieldValue.value) Then If formFieldValue IsNot Nothing AndAlso Not _pdfBurnerParams.IgnoredLabels.Contains(formFieldValue.value) Then
AddFormFieldValue(oAnnotation, formFieldValue, formFieldIndex) AddFormFieldValue(oAnnotation, formFieldValue, formFieldIndex)
formFieldIndex += 1 formFieldIndex += 1
End If End If
Exit Select Exit Select
End Select End Select
isSeal = False isSeal = False
Next Next
End Sub End Sub
Private Function AddImageAnnotation(pAnnotation As Annotation, pAttachments As Dictionary(Of String, Attachment)) As Void Private Function AddImageAnnotation(pAnnotation As Annotation, pAttachments As Dictionary(Of String, Attachment)) As Void
@ -172,6 +172,22 @@ Namespace Jobs.FinalizeDocument
Friend Class AnnotationData Friend Class AnnotationData
Public Property annotations As List(Of Annotation) Public Property annotations As List(Of Annotation)
Public ReadOnly Property SignatureAnnotations As List(Of List(Of Annotation))
Get
Dim result As New List(Of List(Of Annotation))()
If annotations IsNot Nothing AndAlso annotations.Count > 0 Then
For i As Integer = 0 To annotations.Count - 1 Step 6
Dim group As List(Of Annotation) = annotations.Skip(i).Take(6).ToList()
result.Add(group)
Next
End If
Return result
End Get
End Property
Public Property attachments As Dictionary(Of String, Attachment) Public Property attachments As Dictionary(Of String, Attachment)
Public Property formFieldValues As List(Of FormFieldValue) Public Property formFieldValues As List(Of FormFieldValue)
End Class End Class