Question

Je crée une facture à l'aide du iTextSharp. Cela affiche bien, mais parfois, lorsque les éléments de la facture sont plus grandes dans qté, la partie sommaire (qui affiche le sous-total, taxes, remises, grand total, etc.) est coupée en deux. Quelques displayes à la page en cours et quelques mouvements à la page suivante. Je pensais à déplacer la partie sommaire entier dans la page suivante, si gauche actuelle de la hauteur ne suffit pas pour cela.

Cependant, pour ce faire, je dois savoir que la façon dont la hauteur est bien la page à gauche (après ma page en cours du contenu rendu). Je me demande si quelqu'un savoir comment calculer la hauteur actuelle de gauche de la page? OU s'il y a une propriété dans le pdfPTable qui peut forcer la table à s'imprimer dans son ensemble et ne pas le laisser divisé sur plusieurs pages! Je suppose que si la deuxième option est disponible, il sera facile.

En résumé, je dois savoir s'il est possible de calculer la hauteur restante de la page, et aussi si cela est possible de forcer une table à refendus sur plusieurs pages.

merci.    Sameers

Était-ce utile?

La solution

Vous pouvez définir SplitLate à false pour éviter la rupture automatique de page dans les données de la cellule dépasse la limite.

......
table.addCell(cellData);

table.SplitLate = false;
......

Autres conseils

Je vous suggère d'utiliser une table imbriquée pour votre section sommaire. Je ne crois pas iText fractionnera une cellule donnée sur une limite de page, donc tout dans cette cellule (même si son une table imbriquée avec des cellules de son propre) reste sur la même page.

Utilisez la durée de la ligne de la cellule de la table il prend toute une ligne lui-même.

Je ne suis pas certain, mais je parie une bière là-dessus.

Quel objet vous utilisez pour ajouter vos données au format PDF? MultiColumnText, paragraphe, phrase?

Vous devriez être en mesure d'utiliser la propriété Document.PageSize.Height pour revenir à la hauteur de la page.

Utilisez ensuite PDFPTable.Height pour revenir à la hauteur de votre table.

Alors il suffit d'utiliser la logique Document.PageSize.Height -. Table.Height, et vous aurez l'espace y-axe restant disponible

L'objet PDFPTable a des propriétés nommées SplitLate et SplitRows. Je crois que vous pouvez utiliser ces propriétés essayer et garder la table sur une page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top