2012-11-16 3 views
0

J'ai une jframe avec jtable, Button, et Jlabel. J'ai un problème Quand je clique sur le bouton, il apparaît que enregistré en pdf il suffit de remplir la table, mais pas de nom de colonne. Et si je veux aussi ajouter jlabel dans le fichier pdf ??créer un fichier pdf à partir de JTable en Java

Il est le script:

Private void print(){ 

Document document = new Document(PageSize.A4.rotate()); 

try { 
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("D:/jTable.pdf")); 

    document.open(); 
    PdfContentByte cb = writer.getDirectContent(); 

    cb.saveState(); 
    Graphics2D g2 = cb.createGraphicsShapes(500, 500); 

    Shape oldClip = g2.getClip(); 
    g2.clipRect(0, 0, 500, 500); 

    table_pdf.print(g2); 
    g2.setClip(oldClip); 

    g2.dispose(); 
    cb.restoreState(); 
} catch (Exception e) { 
    System.err.println(e.getMessage()); 
} 
document.close();} 

il est screenshoot enter image description here

et son fichier pdf enter image description here

+0

'print private void() {' Ce ne serait pas compiler et ne peut donc pas être le code utilisé. Mais pour une meilleure aide plus tôt, postez un [SSCCE] (http://sscce.org/). –

+2

Si vous dessinez une table, vous devriez vraiment utiliser PdfPTable. http://api.itextpdf.com/itext/com/itextpdf/text/pdf/PdfPTable.html – scrappedcola

+0

@scrappedcola Bon appel. Avec les difficultés de [obtenir un graphique d'une table] (http://stackoverflow.com/questions/7369814/why-does-the-jtable-header-not-appear-in-the-image) correctement, c'est sympa pour savoir qu'il existe une classe spécifique dans l'API qui gère les détails de la création d'une conversion PDF. –

Répondre

3

colonnes de table en-têtes sont présentés comme en-tête de colonne du JScrollPane où la table est ajoutée. Essayez d'utiliser la méthode de JScrollPane

public JViewport getColumnHeader() 

et l'imprimer au-dessus de la table

+0

@ user1815938 ou obtenir JTableHeader à partir de JTable (BorderLayout requis pour le conteneur) mis à la zone NORD – mKorbel

Questions connexes