1

PDFを作成するためにColdFusionアプリケーションでiTextライブラリを使用しています。目標は、特定のサイズのボックスに特定の位置にさまざまなテキストを追加することです。

これは、ColumnText を使用して完全に実行できます (詳細はスキップされます)。

<cfset directContent = writer.getDirectContent()>
<cfset ct = CreateObject("java", "com.lowagie.text.pdf.ColumnText").init(directContent)>
<cfset ct.setSimpleColumn(100, 50, 400, 400, 18, Element.ALIGN_JUSTIFIED)>
<cfset ct.setText( createObject("java", "com.lowagie.text.Phrase").init("#text_var#") ) >
<cfset ct.go()>

問題は、長いテキストが期待どおりにカットされることです ( をgo()返しますColumnText.NO_MORE_COLUMN)。ただし、この場合、たとえば最後に「...」を付けて、テキストが終了していないことを示す必要があります (ドットを追加するか、必要に応じて最後の 1 つまたは 2 つの記号を「...」に置き換えます)。

これを達成する簡単な方法はありますか?たとえば、呼び出した後、go(true)実際にテキストを出力せずに、テキストの出力に使用された行数を確認できます。しかし、どうにかして実際のテキストをボックスに収める必要があります。

4

1 に答える 1