iText Jump-StartチュートリアルChapter 1: Introducing basic building blocksを見てください。図1.2:リストの例、生成されたリストの行スペースの設定方法は?リストの行間隔を設定する方法は?
答えて
行間隔は、iText7のLEADINGプロパティによって制御されます。
リードを指定する方法の1つは、iText7のParagraph
クラスにsetFixedLeading
またはsetMultipliedLeading
を使用して、ListItem
インスタンスに直接それらParagraph
インスタンスを追加することです。次のように
テキスト文字列に基づいて、このようなリスト項目を作成するためのヘルパーメソッドが見えます:
private ListItem createListItemWithLeading(String text) {
Paragraph paragraph = new Paragraph(text);
paragraph.setFixedLeading(30);
paragraph.setMargin(0);
ListItem listItem = new ListItem();
listItem.add(paragraph);
return listItem;
}
別の方法、段落以外の要素にはsetFixedLeading
またはsetMultpliedLeading
セッターが現在存在しないようになりますリストに手動でこのプロパティを設定:
list.setProperty(Property.LEADING, new Leading(Leading.MULTIPLIED, 2.5f));
// Add the list
document.add(list);
直接setProperty
を使用し、ご自身の責任でそれを行う際に注意してください。推奨される方法は、パブリックAPIで提供されるgetters/setterを使用することです。
ありがとうございます。 1つ目のメソッドの詳細なサンプルコードを与えることができます:これらの段落構造をListItemインスタンスに直接追加します。私もsetPropertyで2番目の方法を試してきました。私は0fと20fを使って2.5fを置き換えようとしましたが、行スペースは全く変更されていないようです。 – cao
20は巨大な乗数のようです。 0はあまり意味がありません。あなたが固定リーダーを探しているなら、あなたは 'new Leading(Leading.FIXED、15f) 'と一緒に行くことができます。 –
ありがとうございました。第1の方法は今私のために働く。 – cao
スタックオーバーフローの回答と同様に、外部リンクに従う必要がなくなり、質問にオフサイトを見てもらう必要はありません。 – mkl