2010-01-18 13 views

Répondre

6

Vous devez commencer par mesurer la largeur de votre texte dans la police que vous avez choisie. De la documentation iTextSharp:

texte de mesure

Parfois, il est nécessaire de connaître la longueur d'un certain morceau de texte. Si vous avez créé un objet BaseFont, vous pouvez utiliser la méthode : public float getWidthPoint (String text, float fontSize); Donc, si vous utilisez une police de code à barres avec la taille 36 comme dans le exemple précédent et que vous voulez savoir combien d'espace dont vous avez besoin sur la ligne pour imprimer ce code à barres, vous faites juste: getWidthPoint («», 36f). Le résultat est la largeur en points. Il ya sont 72 points dans 1 pouce. Donc, si vous avez un résultat de 252 points (comme dans exemple 8), vous pouvez convertir en pouces et en centimètres comme ceci: 252 /72 = 3,5 pouces * 2,54 = 8,89 cm

Cela vous obtenez la largeur de votre chaîne avec la police que vous avez choisie par défaut. Vous pouvez ensuite utiliser la largeur fixe de votre cellule de tableau pour trouver la taille de police appropriée pour remplir la largeur de votre cellule sans emballage.

textWidth = getWidthPoint("sample text", originalFontHeight) 
newFontHeight = (cellWidth/textWidth) * originalFontHeight 

Ensuite, assurez-vous que la nouvelle hauteur de police (qui est déjà donnée en points par la taille de la police) ne dépasse pas la hauteur de votre cellule de table.

+0

Super, merci beaucoup, c'était exactement ce que je cherchais. – DaveB

Questions connexes