こんにちわ。 お世話になっております。 WebアプリケーションにおいてiTextを利用したPDFの作成を行っています。 今回どうしても上手くいかない所があり質問させて頂きます。 ■簡単な処理の流れを説明します (1)PdfPTableを使い、テーブルを作成 (2)Phraseを作成 (3)それをPdfPCellに代入 (4)PdfPCellにpaddingを設定し、セル内の任意の文字数で改行するように調整する ここで問題となっているのが、(2)で作成した文字が自動改行されてしまうということです。 具体的に説明します。以下のソースを参照下さい。 ------------------------------------------------------------------- Document document = new Document(PageSize.A4, 15, 13, 0, 0); PdfPTable tbl_ef2 = new PdfPTable(9); int widthF2[] = { 5, 12, 5, 16, 14, 18, 10, 8, 12 }; tbl_ef2.setWidths(widthF); tbl_ef2.setWidthPercentage(100); PdfPCell cell2 = new PdfPCell(new Phrase("あいう1-2000"); cell2.setHorizontalAlignment(Element.ALIGN_LEFT); cell2.setVerticalAlignment(Element.ALIGN_TOP); cell2.setFixedHeight(24f); ◎cell2.setPaddingTop(0); ◎cell2.setPaddingBottom(0f); ◎cell2.setPaddingLeft(11f); ◎cell2.setPaddingRight(10f); tbl_ef.addCell(cell2); (以下省略) document .add(tbl_ef); ------------------------------------------------------------------- ◎でpaddingを設定し、ちょうど6文字で改行するようにセル内を調整しています。 しかし、実際には ⇒(間違い):「あいう<改行> 1-2000」となります。 ⇒(なってほしい姿):「あいう1-2<改行> 000」 いま分かっている範囲では、数字が入る文字がきて、それが前の行に入らないと 自動で改行されているようです。 なにか改行の設定を行うような機能はあるのでしょうか? また、上手く文字列を6文字ずつで改行させる方法はないでしょうか? よろしくお願いします。
↧