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. Вы можете сделать это как изображение, но лучше использовать шаблон для оформления таблицы.

Другие вопросы по тегам