Мы используем itext в Vb .net, мы импортируем данные из электронной таблицы Excel и заполняем поля из электронной таблицы.Мы получаем все, кроме флажков, мы не уверены, как справиться с их проверкой (они либо да / нет)
Интернет говорит использовать GetAppearanceState, но не работает с нашим кодом, мы используем iTExt7
Private Sub ListFieldNames()
src = "C:\GR_Templates\xxxForm.pdf"
dest = "c:\GR_xxx\" & "-" & "-Return" & ".pdf" '& docName &
reader = New PdfReader(src)
writer = New PdfWriter(dest)
pdfDoc = New PdfDocument(reader, writer)
form = Forms.PdfAcroForm.GetAcroForm(pdfDoc, True)
fields = form.GetFormFields
End Sub
Другой код
reader = New PdfReader(src)
reader.SetUnethicalReading(True)
writer = New PdfWriter(dest)
pdfDoc = New PdfDocument(reader, writer)
form = Forms.PdfAcroForm.GetAcroForm(pdfDoc, True)
fields = form.GetFormFields
Dim toSet As PdfFormField = Nothing
For ncol = 0 To dGridView.ColumnCount - 1
For Each kvp As KeyValuePair(Of String, PdfFormField) In fields
v1 = kvp.Key
If v1 = (headerList(ncol + 1)) Then
If dGridView(nCol, nRow).Value Is System.DBNull.Value Then
dGridView(nCol, nRow).Value = ""
End If
nVal = dGridView(ncol, nRow).Value
fields.TryGetValue(v1, toSet)
toSet.SetValue(nVal)
If IsNumeric(nVal) And chkSARS.Checked = False Then
toSet.SetJustification(PdfFormField.ALIGN_RIGHT)
End If
End If
Next
Next ncol
pdfDoc.Close()