1

現在、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ではデータも完全に表示されません。jTableモデルデータをpdfに変換できる他のAPIはありますか?

4

1 に答える 1

1

はい、別のAPIはDocmosisです。モデルデータをDataProviderインスタンスに配置し、それを使用してテンプレートにデータを入力します。テンプレートはテーブルの外観を制御し、DocmosisはPDFを生成するためにテーブルにデータを入力します。画像として作成することもできますが、テンプレートを使用してテーブルのルックアンドフィールをデザインする方が優れています。

于 2010-07-03T02:40:46.923 に答える