2010-05-05 2 views
2

Je suis en train de modifier un système existant qui génère des rapports avec iText et java. Le modèle de rapport est la suivante:iText PdfPTables, document.add avec writeSelectedRows

Header1 (PdfPTable)
Header2 (PdfPTable)
corps (PdfPTable)

J'utilise actuellement les writeSelectedRows pour afficher Header1 et Header2, mais document.add est utilisé pour afficher le corps. Le problème est que le système est configuré pour écrire les en-têtes APRÈS que le corps a déjà été affiché sur l'écran, donc j'affiche mes en-têtes sur le contenu de mon corps. Ma question est comment puis-je ajouter ma table de corps (en utilisant document.add) et l'afficher à mi-chemin de la page (ou de n'importe quelle position verticale prédéterminée)? De cette façon, j'aurais suffisamment d'espace pour afficher mes en-têtes au-dessus de la table de corps.

Remarque: Je crois que la table de corps utilise document.add pour faciliter la pagination automatique si le contenu du corps est trop grand.

Répondre

3

Rédigez vos tables d'en-tête à une position absolue en haut du document, la position donc y serait:

y = PageHeight - TableHeight; 

Ensuite, ajoutez vos tables de corps en utilisant document.add

est un exemple ici, je googlé , Image in the Page Header Generated by iTextSharp?