2017-04-12 18 views
0

私は不規則な列を持つItextを使用しています。項目バージョンは5.5.9です。 行間隔を設定できません。 私は次のコードを使用しています:不規則な列との行間隔が無効です

ColumnText ct= new ColumnText(); 
ct.setLeading(6f); 

を使用しますがsetLeadingは何の効果も持っていません。 お勧めします。

答えて

2

あなたがctにコンテンツを追加する方法を示していないが、私はあなたが(列の先導を無視する)複合モードではなく、テキストにコンテンツを追加していると思いますので、ご質問は不完全ですモード(これは列のプロパティを取ります)。

コンテンツを追加する方法を変更するか、先頭の設定方法を変更する必要があります。

これはテキストモードです:これは複合モードある

ColumnText ct= new ColumnText(); 
ct.setLeading(6f); 
ct.addText(new Chunk("Hello")); 
ct.addText(new Chunk("World")); 

複合モードで

ColumnText ct= new ColumnText(); 
Paragraph p = new Paragraph("Hello World ... Long sentence, etc."); 
p.setLeading(6f); 
ct.addElement(p); 

たとえば、それが大手を定義しても意味がありません。それはParagraphの先頭によって却下されるため、ctのために。 Paragraphのデフォルトの先頭は、フォントサイズの1.5倍です。したがって、列の行頭を6に設定しても、コンポジットモードを使用してデフォルトのフォントサイズの段落を追加すると、行頭は18(1.5倍12)になります。

更新:

あなたがテキストモードでParagraph Sを使用することはできません。そうすると、ParagraphPhraseと扱われ、ColumnTextの先頭になります。テキストモードのすべてのテキストは、同じgo()に同じ先頭が付きます。あなたができることの一つは、コールgo()異なる時刻さ:

ColumnText ct= new ColumnText(); 
ct.setLeading(6f); 
ct.addText(new Chunk("Hello blah blah ... blah")); 
ct.go(); 
ct.setLeading(12f); 
ct.addText(new Chunk("Hello blah blah ... blah")); 
ct.go(); 
+0

こんにちは親愛なる、私はテキストモードを使用していますが、問題は、私はそれに2つの段落を持っていると私はthem.If私の両方で異なる行間をしたいということですsetLeadingを複数回使用すると、最新のものだけが有効に見えます。段落のスペースを使用できるように、複合モードを代わりに使用しようとしましたが、「不規則な列は合成モードでは許可されません」 – Jeets

+0

テキストモードでは段落を使用できません。あなたがすると、 'Paragraph'は' Phrase'として扱われ、 'ColumnText'の先頭をとります。テキストモードのすべてのテキストは同じ先頭になります。コンポジット・モードでは、異なる先行表示しかできません。ただし、回避策になる可能性があります。私は私の答えを更新します。 –

関連する問題