2011-02-12 74 views
0

我正在使用以下代碼進行打印JTable轉爲PDF。不幸的是,打印的頁面沒有左邊距,也沒有打印表格標題。將裕量設置爲打印到pdf

我爲此使用iText,不想爲此使用任何其他API。 我該如何解決這個問題?

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(); 
    } 

回答

0

使用g2.translate()調用print()之前轉移表內容