Si vous utilisez iText, il est préférable d'utiliser iText7. C'est la dernière version de iText, et une correction de bugs importante a été faite (en particulier pour les tables). Cela étant dit, quand je regarde l'exemple, il semble que l'exemple ne fait que répéter sur toutes les cellules et les ajoute à un objet Table iText.
La même chose peut être faite avec iText7. Vous créez une table avec la quantité appropriée de colonnes, puis ajoutez des cellules à elle.
Votre question (en ce qui me concerne) se résume à "comment puis-je style des cellules de table iText".
Ceci est un exemple de code qui génère simplement une table. J'ai indiqué où vous pouvez styler le contenu de la table.
public static void main(String[] args) throws Exception {
File file = new File(DEST);
file.getParentFile().mkdirs();
manipulatePdf(DEST);
}
public static void manipulatePdf(String dest) throws Exception {
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
Table table = new Table(8);
for (int i = 0; i < 16; i++) {
Paragraph para = new Paragraph("hi");
// now you can use methods like:
// para.setFont()
// para.setFontColor()
// para.setFontSize()
table.addCell(para);
}
doc.add(table);
doc.close();
}
Découvrez plus d'exemples à http://developers.itextpdf.com/content/itext-7-examples/itext-7-tables
Pour ajouter sur la réponse de Joris: on fait tout simplement pas "styles de copie" à partir d'Excel. * Vous * définissez le style vous-même, et * vous * décidez quoi et comment. Vous avez besoin du POI d'Apache pour lire les styles Excel, puis effectuez le travail vous-même pour le traduire dans les instructions iText 'setFont' /' setFontColor'/'setFontSize' correspondantes. –
@Joris et comment je peux fusionner des cellules? http://developers.itextpdf.com/examples/tables/colspan-and-rowspan -> exemple d'ici n'est pas bon ... – Ady96
Pouvez-vous expliquer pourquoi l'exemple n'est pas bon? Aussi, parlez-vous de la fusion de cellules dans l'entrée ou dans la sortie? –