Java JTable导出为PDF

时间:2010-07-02 15:50:08

标签: java pdf jtable tablemodel

目前,我正在使用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 个答案:

答案 0 :(得分:1)

是的,另一个API将是Docmosis。您可以将模型数据放入DataProvider实例并使用它来填充模板。该模板将控制您的表格的外观,Docmosis将填充它以生成PDF。你可以把它作为一个图像,但使用模板设计表的外观和感觉更好。