2016-04-26 58 views
0

我有創建pdf文檔的代碼,它從它獲取acroform字段並將它們保存到向量中。如何將向量中的元素轉換爲ArrayList

PDFDocument pdfDocument = new PDFDocument(pdfPath, null); 
     AcroForm acroForm = pdfDocument.getAcroForm(); 
     Vector fieldList = acroForm.getFieldList(); 
     System.out.println("fieldList: " + fieldList); 

SYSOUT返回此:

[[Field FullName=amtApprvd_1_2 Type=Tx], [Field FullName=percentIrateInit_1_2 Type=Tx], [Field FullName=borrowerName Type=Tx]] 

現在我想在ArrayList中保存字段名稱(例如,amtApprvd_1_2)。我怎麼能做到這一點?

我能夠使用枚舉和迭代器,但我只能將它們保存爲對象,它具有字段名稱和類型。但我只想在ArrayList中使用字段名稱。請指教。

爲AcroForm

API是com.qoppa.pdf.form

回答

1

不知道的AcroForm API和getFieldList()方法,但這樣的事情:

Vector<Field> fieldList = acroForm.getFieldList(); 
ArrayList<String> fieldNames = new ArrayList<>(fieldList.size()); 
for (Field field : fieldList) 
    fieldNames.add(field.getFullName()); 

這假定getFieldList()返回Vector<Field>,而不僅僅是原始Vector

+0

AcroForm的API來自com.qoppa.pdf.form。我會嘗試你的版本。謝謝。 – Foxy

+0

謝謝安德烈亞斯! – Foxy

1
Vector<String> yourvector = new Vector<String>(); 
    ArrayList names = new ArrayList(); 
    for(FieldListObj list : fieldList){ 
    names.add(list.getname()); 
    } 

你可以用上面的方法很容易做到這一點。 .im只是假設 FieldListObj是你的類名,你有一個getName方法來獲得該字段的名稱。

+0

感謝您的快速響應,但正如我所說我能夠得到的對象,但我想只保存在ArrayList中的文件名,而不是整個對象。 – Foxy

+0

因爲你沒有給出正確的代碼信息,所以很難給出正確的答案。 – Priyamal

+0

很抱歉,我在問題描述中添加了API。安德烈亞斯給了我正確的答案。再次感謝。 – Foxy

相關問題