4

PDFの生成にJavaItext2.1.7を使用しており、次のHTMLを作成しました。しかし、言葉が長すぎるからといって言葉が途切れることはありません。

String td ="<td colspan=\"2\" align=\"left\" style=\"table-layout: fixed;word-wrap:break-word;white-space: normal;\"><b>"
                    + verylongwordverylongwordverylongword + ":</b></td>"

誰かがこれを達成するのを手伝ってくれますか?

4

1 に答える 1

5

Itext 2.7.1はword-wrap : break-wordプロパティをサポートしていません。以下はそのためのリンクです。

http://demo.itextsupport.com/xmlworker/itextdoc/flatsite.html

そのため、テーブルの列の数に従って、最大文字数を 60 ~ 65 程度と仮定して、手動で単語を分割しました。以下はそのコードです。

public String getBrokenWordsForPdfGeneration(String longString, int cutIndex){
       StringBuffer mainStringBuffer = new StringBuffer(longString);
       String returnString = "";
       while(mainStringBuffer != null && mainString.length()>0 &&                              
mainString.subString(0,mainString.length()>cutIndex?cutIndex:mainString.length()) != null){ 
          if(mainStrig.subString(0,mainString.length()>cutIndex:mainString.length()).trim().contains(" ")){
               returnString += mainStrig.subString(0,mainString.length()>cutIndex:mainString.length()).trim();
               mainStringBuffer.delete(0,mainString.length()>cutIndex:mainString.length());
          }else{
              returnString += mainStrig.subString(0,mainString.length()>cutIndex:mainString.length()).trim()+ " ";
              mainStringBuffer.delete(0,mainString.length()>cutIndex:mainString.length());
          }
    }
    return returnString;
}
于 2012-08-02T06:33:44.543 に答える