无法在java中生成PDF文件的完整数据

时间:2015-04-22 05:30:58

标签: java swing jtable itext

我有jtable用于显示某些数据。假设我有大约200行数据。我可以使用pdf生成iText library,但我遇到的问题是所有行都没有生成。如何动态添加new page以便生成所有行?请看下面的代码,请帮助我。

Document doc = new Document(new Rectangle(1350, 1450));
  PdfDestination pdfDest = new PdfDestination(PdfDestination.XYZ, 0, 800, 0.50f);
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    java.util.Date date = new java.util.Date();
    String generatedDate = formatter.format(date);try {

        PdfWriter writer;
        writer = PdfWriter.getInstance(doc, new FileOutputStream(save_pdf.getSelectedFile().getAbsoluteFile() + ".pdf"));
    writer.setViewerPreferences(PdfWriter.PageLayoutSinglePage);

        doc.open();

        PdfAction action = PdfAction.gotoLocalPage(1, pdfDest, writer);
        writer.setOpenAction(action);
        doc.add(new Paragraph("REPORTS", f));

        doc.add(new Paragraph("Document Generated On - " + generatedDate, f));

        PdfContentByte cb = writer.getDirectContent();

        cb.saveState();

              Graphics2D g2;

        g2 = cb.createGraphics(1350, 1275);
        Shape oldClip = g2.getClip();
        g2.clipRect(0, 0, 1350, 1275);//1275


        table1.print(g2);
        JTableHeader h = table1.getTableHeader();
        h.print(g2);

        g2.setClip(oldClip);
          writer.newPage();
        g2.dispose();
        cb.restoreState();

    } catch (DocumentException | FileNotFoundException e) {
    }
    doc.close();

0 个答案:

没有答案