2016-06-14 14 views
0

PDF 형식의 필드 값을 가져 오기 위해 PdfStamper를 사용하고 있습니다. 필자는 Acrofields 클래스의 GetField() 함수를 사용하여 텍스트 상자, 콤보 상자 및 체크 상자에서 값을 얻을 수 있습니다. 그러나 라디오 버튼에 관해서는, 나는 세트의 첫 번째 라디오 버튼의 값을 얻거나 "꺼짐"을 얻습니다. 나는 무엇을 놓치고 있는가? 나는 값을 다르게해야 하는가? 내가 알지 못하는 일반적으로 알려진 버그가 있습니까? 여기 내 코드의 샘플입니다 : 같은 "그룹"에라디오 버튼 값을 얻으려면 무엇을 잘못하고 있습니까?

Private Sub btnFinish_ItemClick2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnFinish.ItemClick 
Dim pdfReader As New PdfReader(savedfile) 
    Dim pdfStamper As New PdfStamper(pdfReader, New FileStream(pdf_prefinal, FileMode.Create)) 
    Dim pdfFormFields As AcroFields = pdfStamper.AcroFields 

    Dim pdfFieldscollection As System.Collections.Generic.IDictionary(Of String, iTextSharp.text.pdf.AcroFields.Item) = pdfReader.AcroFields.Fields 
    Dim dsNewRow As DataRow = DualReview_databaseDataSet.tblEngineeringReviewTracking.NewRow() 

    Dim rqdEmptyFields As New List(Of String) 
    Dim rqdCommentFields As New List(Of Integer) 
    Dim keepSavingfields As Boolean = True 

    'Loop through each field in order to find empty fields and to save fields value 
    For Each field In pdfFieldscollection 

     Dim fieldName As String = field.Key 
     Dim fieldType As Integer = pdfFormFields.GetFieldType(fieldName) 
     Dim fieldValue As String = pdfFormFields.GetField(fieldName) 
     Dim saveCurrentField As Boolean = False 
     '... 

    Next 
End Sub 

답변

1

모든 라디오 버튼은 같은 이름을 가져야한다. 각 버튼에는 자체 "내보내기 값"이 있어야합니다. 코드에서 이름은 선택한 버튼의 값으로 한 번 반환됩니다. ("Export Value"속성은 "Value"IMO로 지정해야합니다.)

+0

iTextSharp가 아니고 대신 라디오 버튼 값을 올바르게 기록하지 않은 PDF 뷰어 소프트웨어가 있습니다. –

+0

PDF 문서의 디자인이 문제 일 가능성이 큽니다. 변경 사항을 적용하려면 PDF 편집기가 필요합니다. 나는 FoxIt Phantom을 좋아한다. – rheitzman