Sto scrivendo un programma che genera un file pdf o rtf con una tabella al suo interno, utilizzando iText. Ho usato la tabella e la cella della classe iText, piuttosto che la specifica RtfTable o pdfTable in modo che alla fine sia possibile generare un file. Avevo bisogno di impostare il riempimento della cella su un valore di -1, oppure c'era troppo spazio tra ogni riga di dati sul foglio stampato. Tuttavia, sto cercando di aggiungere bordi (in particolare al file pdf) e le celle non si allineano al testo. Il bordo inferiore di ogni cella taglia direttamente il testo. In realtà circonda il testo solo quando il riempimento della cella è impostato su 2 o superiore. Di seguito è riportato un esempio di quello che sto facendo:Confini cella iText che tagliano il testo
Document document = new Document();
Paragraph paragraph = new Paragraph();
Font iTextFont = new Font(Font.TIMES_ROMAN, 9, Font.NORMAL);
try{
PdfWriter.getInstance(document, new FileOutputStream("C:/datafiles/TestiText.pdf"));
document.open();
Table table = new Table(3);
table.setPadding(-1);
table.setWidth(90);
Cell cell1 = new Cell();
cell1.setBorder(Rectangle.BOX);
cell1.setVerticalAlignment(ElementTags.ALIGN_TOP);
table.setDefaultCell(cell1);
paragraph = new Paragraph("header", iTextFont);
Cell cell = new Cell(paragraph);
cell.setHeader(true);
cell.setColspan(3);
table.addCell(cell);
paragraph = new Paragraph("example cell", iTextFont);
table.addCell(paragraph);
paragraph = new Paragraph("one", iTextFont);
table.addCell(cell);
paragraph = new Paragraph("two", iTextFont);
cell = new Cell(paragraph);
table.addCell(paragraph);
paragraph = new Paragraph("Does this start a new row?", iTextFont);
table.addCell(paragraph);
paragraph = new Paragraph("Four", iTextFont);
table.addCell(paragraph);
paragraph = new Paragraph("Five", iTextFont);
table.addCell(paragraph);
document.add(table);
} catch (Exception e) {
//handle exception
}
document.close();
}
C'è un modo per risolvere questo problema sia spostando l'intero confine giù una goccia (senza influenzare il posizionamento del testo), o per eliminare gli spazi tra le ogni riga (la spaziatura sembra essere solo un problema sopra il testo, non al di sotto) senza impostare il riempimento della cella su -1?
Hai trovato una soluzione a questo? Sto avendo gli stessi problemi. Voglio che le mie celle siano meno alte, il che sembra essere causato dal padding, ma quando diminuisco il padding il testo taglia attraverso il bordo inferiore. –
Non importa, sono passato a PdfPTable e va bene ora. Poiché generi solo PDF, questa soluzione è sufficiente per me. –
per favore aggiungi le librerie importate in te java ho cercato di implementare il tuo esempio "fornire una classe completa" – shareef