Я хочу экспортировать данные jTable (tblinvoice) (16 столбцов) в pdf-документ размера A4, используя iText 5 и Java. PDF-файл может содержать несколько страниц, и каждая страница должна иметь заголовок таблицы и номер страницы.
У меня есть один jTable с 16 столбцами. Я пытаюсь с Itext 5, и я смог получить результат в пределах одной страницы документа PDF (размер A4). если jTable имеет несколько строк (для 2,3 страниц), тогда я получаю сообщение nullPointerException.
`Document dc = новый документ (PageSize.A4.rotate ());
PdfWriter.getInstance (постоянный ток, новый FileOutputStream (путь + allin));
dc.open ();
PdfPTable table = new PdfPTable(17);
table.setHeaderRows(1);
table.setSplitLate(false);
table.setSplitRows(false);
table.setComplete(false);
for (int q = 0; q < 1; q++) { //header setter
table.addCell("No");
table.addCell("Invoice No");
table.addCell("Customer Name");
table.addCell("Sales Date");
table.addCell("Sales Time");
table.addCell("Total Item");
table.addCell("Total Price");
table.addCell("Discount");
table.addCell("Total Payable");
table.addCell("Paid Amount");
table.addCell("Balance");
table.addCell("Payment Type");
table.addCell("Hold Id");
table.addCell("Return Note");
table.addCell("Hold Note");
table.addCell("Invoice Status");
table.addCell("User ID / Name");
}
for (int i = 1; i < tblinvoice.getRowCount(); i++) { //cell
String id = tblinvoice.getValueAt(i, 0).toString();
String cn = tblinvoice.getValueAt(i, 1).toString();
String sd = tblinvoice.getValueAt(i, 2).toString();
String st = tblinvoice.getValueAt(i, 3).toString();
String ti = tblinvoice.getValueAt(i, 4).toString();
String tp = tblinvoice.getValueAt(i, 5).toString();
String dt = tblinvoice.getValueAt(i, 6).toString();
String tl = tblinvoice.getValueAt(i, 7).toString();
String pa = tblinvoice.getValueAt(i, 8).toString();
String bn = tblinvoice.getValueAt(i, 9).toString();
String pt = tblinvoice.getValueAt(i, 10).toString();
String hi = tblinvoice.getValueAt(i, 11).toString();
String rn = tblinvoice.getValueAt(i, 12).toString();
String hn = tblinvoice.getValueAt(i, 13).toString();
String is = tblinvoice.getValueAt(i, 14).toString();
String ui = tblinvoice.getValueAt(i, 15).toString();
table.addCell("" + i);
table.addCell(id);
table.addCell(cn);
table.addCell(sd);
table.addCell(st);
table.addCell(ti);
table.addCell(tp);
table.addCell(dt);
table.addCell(tl);
table.addCell(pa);
table.addCell(bn);
table.addCell(pt);
table.addCell(hi);
table.addCell(rn);
table.addCell(hn);
table.addCell(is);
table.addCell(ui);
}
dc.newPage();
table.setComplete(true);
table.setSplitLate(false);
dc.add(table);
dc.close();`
Я ожидаю, что у вас будет несколько строк PDF-документа (формата A4). но я получаю сообщение nullPointerException. и PDF сохраняет, но не может открыть!