java - 自动换行 :break-word is not working with iText 2. 1.7

标签 java html css pdf itext

我正在使用 JavaItext2.1.7 来生成 pdf 并且我编写了以下 HTML。但当它们太长时,它并不是断词。

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

有人可以帮我实现这个目标吗?

最佳答案

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;
}

关于java - 自动换行 :break-word is not working with iText 2. 1.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11754085/

相关文章:

javascript - 如何强制 href 链接为绝对链接?

html - 需要使用灯箱悬停时图像发光

java - 如何通过在java中的post请求中发送文件将数据导入elasticsearch?

java - 为什么在 Start() 方法上声明按钮会使场景变得无色?

java - 如何在 Spring Security 中启用 POST、PUT 和 DELETE 方法

javascript - 我需要这些按钮来控制显示哪个 div 或 "on top"

html - CSS 拼图 : absolute position of table title

php - 将输入类型标签内的文本居中

jquery - 是否可以向模态窗口添加滚动条?

java - 如何使用 aspectJ 获取带注释的对象