Réduire le point de rupture de ligne de hauteur, sur iTextSharp
Comment puis-je réduire la hauteur d'un saut de ligne qui se produit lorsqu'un paragraphe est trop long pour la largeur de la ColumnText?
J'ai essayé le suivant, que j'en ai vu d'autres questions qui ont répondu ceci:
p.Leading = 0
Mais cela a fait aucun effet.
J'ai aussi essayé de l'augmentation de la Leading
à 100
pour voir si un plus grand saut de ligne est ajouté, mais ne travaillent pas.
SpacingBefore/SpacingAfter n'aide pas:
p.SpacingBefore = 0
p.SpacingAfter = 0
Comment puis-je réduire ce?
OriginalL'auteur Curt | 2012-02-01
Vous devez vous connecter pour publier un commentaire.
Lors de l'utilisation d'une table, vous devez définir la pointe de la cellule elle-même. Cependant, vous verrez que le
Leading
propriété est en lecture seule, donc au lieu de cela, vous aurez besoin d'utiliser laSetLeading()
méthode qui prend deux valeurs, la première est la partie fixe du leader et le second est le multipliés en tête. Selon à ce post ici:Pour réduire le conduisant à 80% vous pouvez utiliser:
MODIFIER
Désolé, j'ai vu la "Colonne" et mon café-dépourvues de cerveau est allé à des tables.
Pour un
ColumnText
vous devriez être en mesure d'utiliser le Point du leader des valeurs très bien.Sur ma machine de course iTextSharp 5.1.2.0 ce produit deux lignes de texte qui sont légèrement écrasé ensemble.
PdfCell
. Le paragraphe est ajouté àColumnText
J'ai mis à jour mon code ci-dessus
Cheers Chris, cependant cela ne fonctionne toujours pas pour moi :/ je suis également en utilisant 5.1.2.0 donc je suis un peu perplexe quant à pourquoi sa ne fonctionne pas. D'autres idées?
Hmm j'ai copié ton code et de voir sa écrasé, alors que lors de l'ajout à mon code sa ne marche pas. Hmm je vais voir ce que je fais mal.
Ahh votre aide
AddElement
alors que j'ai été en utilisantAddText
. Je l'ai changé, et hourra! il fonctionne! La seule chose est, ce qui semble être gâcher la valeur dect.YLine
que j'utilise pour ensuite la position de l'autre columntext dessous.OriginalL'auteur Chris Haas
Ainsi, il semble que vous avez trébuché sur la différence entre mode texte et mode composite:
ColumnText.AddText()
à l'aide de la "inline" Bloc et d'Expression des objets.ColumnText.AddText()
à l'aide de "conteneur" des objets comme le Paragraphe, Image, etcLorsque vous êtes dans mode texte, vous ajouter de l'espace entre les "paragraphes", le réglage
ColumnText
propriétés.Lorsque vous êtes dans mode composite, vous ajouter de l'espace entre le "contenant" des objets comme vous le feriez normalement - c'est à dire, comme vous le feriez si vous n'utilisez pas
ColumnText
.Voici un exemple pour montrer la différence entre les deux modes::
Alors, maintenant que vous avez mis à jour votre code et utilisez le mode composite avec
AddElement()
,p.SpacingAfter = 0
SERA supprimer l'espacement entre les paragraphes. Ou ce que vous voulez au lieu deParagraph.Leading
.OriginalL'auteur kuujinbo