2013-02-12 89 views
0

如何爲PDF表單中的每個字段設置定義值, 請考慮我的PDF表單中有5個字段說2文本框(名字和姓氏)兩個複選框(Check_1,Check_2),2個單選按鈕(男,女),然後最後我有另一個文本框(地址),現在我必須定義或設置一個值每個領域說1 for名字和2爲姓,3爲Check_1,並繼續到7爲地址 下面是一段代碼來定義每個字段的值,但我在爲單選按鈕字段設置值時遇到一些問題 來到男性和女性領域它使顯示「1」爲男性和女性在其他領域它顯示正確的值如何使用PDFBOX爲PDF表單中的每個字段設置定義值

任何一個可以幫我請...

感謝

List FieldTypes = form.getFields(); 
    PDField pdfFields; 
     for (int i = 0; i < FieldTypes.size(); i++) { 

      pdfFields = (PDField) FieldTypes.get(i); 
      String type = null; 

      if (pdfFields instanceof PDTextbox) { 
       type = "TextBox"; 
       String iAsString = Integer.toString(i); 
       pdfFields.setValue(iAsString); 
       System.out.println("Text" + " "+ pdfFields.getFullyQualifiedName()); 
      } else if (pdfFields instanceof PDCheckbox) { 
       type = "CheckBox"; 
       String iAsString = Integer.toString(i); 
       System.out.println(iAsString); 
       System.out.println("CheckBox" + " "+ pdfFields.getFullyQualifiedName()); 
      } else if (pdfFields instanceof PDRadioCollection) { 

       List kids = pdfFields.getKids(); 
       for (Object kid : kids) { 
         if (kid instanceof PDCheckbox) { 
         PDCheckbox checkbox = (PDCheckbox) kid; 
         String Name = checkbox.getOnValue(); 
         String iAsString = Integer.toString(i); 
         System.out.println(iAsString); 
         type = "RadioButton"; 
         System.out.println("RadioButton"+" "+checkbox.getOnValue()); 
         } 

       } 
      } 
     } 
+0

我甚至添加了增量語句我++它工作正常的單選按鈕字段,但它錯過了最後一個字段 – Ganeshja 2013-02-12 06:51:32

回答

0

基於DOC我認爲getOnValue()方法返回只喜歡選中或不選中狀態。你可以嘗試getPartialName(),getValue(),getFullyQualifiedName(),getAlternateFieldName()或任何其他方法。

0

使用單選按鈕,您必須弄清楚「On Values」是什麼,類似於複選框。然而,單選按鈕有多個On值,所以它是一種不同的方法。

例如,如果我跑這對,你必須從檢查儲蓄或貨幣市場選擇一個單選按鈕組,我們會看到這種印:

賬戶類型(org.apache.pdfbox.pdmodel .interactive.form.PDRadioButton)

單選按鈕

[儲蓄,支票,貨幣市場]

public void list(PDField field) 
{ 
    System.out.println(field.getFullyQualifiedName() + " (" + field.getClass().getName() +")"); 

    if(field instanceof PDRadioButton){ 
     System.out.println("Radio Button"); 
     System.out.println(((PDRadioButton) field).getOnValues()); 
    } 
} 

如果我想要檢查「檢查」按鈕,我會設置字段的值等於「檢查」。

希望這會有所幫助。

相關問題