0

使用 iText 我想创建一个 pdf 文档,其中包含来自文件 DB 的值的表。下一步,在将值放入表之前,我想找到与预定义关键字匹配的并将它们替换为TextFields。因此,文本字段应该在适当的单元格中,即如果关键字位于第 2 行和第 3 列,则此单元格应该是插入的文本字段。为此,我编写了以下方法:

try {
    Scanner scan = new Scanner(new File("filedb.txt"));
    scan.useDelimiter(",|" + System.getProperty("line.separator"));

    int i = 0;
    while(scan.hasNext()) {
        String t1 = scan.next();
        String t2 = scan.next();
        String t3 = scan.next();
        String t4 = scan.next();

        // Puts all columns into the ArrayList
        List<Object> allColumns = new ArrayList<Object>();
        allColumns.add(t1);
        allColumns.add(t2);
        allColumns.add(t3);

        // *UPDATED* checks for 'keywrd' in columns and replaces them with TXT_FLD
        for (int n=0; n < allColumns.size(); n++) {
            PdfPCell cell = new PdfPCell();
            cell.setCellEvent(new TextFields(n));

            if (allColumns.get(n).equals("keywrd")) {
                allColumns.set(n, cell);
            }
        }

        // Inserts all columns into the table cells 
        for (PdfPCell values : allColumns) {
            table.addCell(values);
        }

        // creates TextFields at the last column of a given table
        PdfPCell cell = new PdfPCell();
        cell.setCellEvent(new TextFields(i));
        table.addCell(cell);
        i++;
    }
    scan.close();

} catch (Exception e) {
    e.printStackTrace();
}

错误:

List 类型中的方法 add(PdfPCell) 不适用于参数 (Object)

如何适应上述结构代码以便根据关键字执行替换方法?

4

0 回答 0