Java JTable экспорт в PDF
В настоящее время я использую iText для преобразования моих данных jTable в pdf.
private void print() {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("jTable.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
cb.saveState();
Graphics2D g2 = cb.createGraphicsShapes(800, 500);
Shape oldClip = g2.getClip();
g2.clipRect(0, 0, 800, 500);
jTable.print(g2);
g2.setClip(oldClip);
g2.dispose();
cb.restoreState();
} catch (Exception e) {
System.err.println(e.getMessage());
}
document.close();
}
Проблема, которую я получил, состояла в том, что нет заголовка таблицы, и скажем, если отображение данных в ячейке таблицы не завершено из-за недостатка места, в pdf данные также не отображаются полностью. Есть ли другой API может конвертировать данные модели jTable в pdf?
1 ответ
Решение
Да, еще одним API будет Docmosis. Вы бы поместили данные модели в экземпляр DataProvider и использовали их для заполнения шаблона. Шаблон будет контролировать внешний вид вашей таблицы, а Docmosis заполнит ее для создания PDF. Вы можете сделать это как изображение, но лучше использовать шаблон для оформления таблицы.