2013-02-18 46 views
0

如何從PDF表單使用PDFBOX(C#)如何從PDF表單使用PDFBOX(C#)單選按鈕值

在Java中的單選按鈕值:

 doc = PDDocument.load("C:\\Users\\347702\\Desktop\\sample_form.pdf"); 
      List pages = doc.getDocumentCatalog().getAllPages(); 
      PDAcroForm form = doc.getDocumentCatalog().getAcroForm(); 
      List FieldTypes = form.getFields(); 
      PDField pdfFields; 

      for (int i = 0; i < FieldTypes.size(); i++) { 

       pdfFields = (PDField) ((List) FieldTypes).get(i); 
       if (pdfFields instanceof PDRadioCollection) 
       { 
        String iAsString = Integer.toString(k); 
        System.out.println(iAsString); 
        type = "RadioButton"; 
        System.out.println("Radio Button" + " " 
          + pdfFields.getFullyQualifiedName() + " "); 

        List kids = pdfFields.getKids(); 
        for (Object kid : kids) { 
          if (kid instanceof PDCheckbox) { 
          PDCheckbox checkbox = (PDCheckbox) kid; 
          String Name = checkbox.getOnValue(); 
          System.out.println(Name); 
          } 
        } 

上面的Java代碼已經成功合作(成功返回單選按鈕的孩子),但是當同樣的邏輯是在C#中實現它並不如預期運行

下面

是我的C#代碼:

   else if (pdfFields is PDRadioCollection) 
       { 
        System.Console.WriteLine("Radio Button" + " " 
          + pdfFields.getFullyQualifiedName() + " "); 

        List kids = pdfFields.getKids(); 
        System.Console.WriteLine(kids); 

        for (int w = 0; w < kids.size(); w++) 
        { 
         kids.get(w); 
         System.Console.WriteLine(kids.get(w)); ---- > Return null 

         System.Console.WriteLine(kids.get(w).ToString()); -- > Return null 
        } 

       } 

可以在任何幫助解決這個請 感謝

+0

C# - 下表小孩它持有孩子的價值..但是當我嘗試打印該特定值時,它不能這樣做,它會返回null – Ganeshja 2013-02-18 10:34:25

回答

0

最後得到了它的工作:這裏是:: C#:需要IEnumerable的輸入情況:

   else if (pdfFields is PDRadioCollection) 
       { 
        System.Console.WriteLine("Radio Button" + " " 
          + pdfFields.getFullyQualifiedName() + " "); 

        System.Collections.IEnumerable kids = (System.Collections.IEnumerable)pdfFields.getKids(); 
        System.Console.WriteLine(kids); 

        foreach (object kid in kids) 
        { 
         PDCheckbox checkbox = (PDCheckbox)kid; 
         checkbox.check(); 
        }