Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 换行字:break word不适用于iText 2.1.7_Java_Html_Css_Pdf_Itext - Fatal编程技术网

Java 换行字:break word不适用于iText 2.1.7

Java 换行字:break word不适用于iText 2.1.7,java,html,css,pdf,itext,Java,Html,Css,Pdf,Itext,我正在使用Java和Itext2.1.7生成pdf,我已经编写了以下HTML。但当字数太长时,这并不是破坏 String td ="<td colspan=\"2\" align=\"left\" style=\"table-layout: fixed;word-wrap:break-word;white-space: normal;\"><b>" + verylongwordverylongwordverylongword + "

我正在使用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>"
String td=“”
+verylongwordverylongwordverylongword+“:”

有人能帮我做到这一点吗?

Itext 2.7.1不支持word wrap:break word属性。下面是链接

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

因此,我根据表中的列数,并假设最大字母数在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;
}

break word是css3属性。iText是否完全支持css3当从html转换时,很难说文档是关闭的Hanks@Woody,由于您的评论,我实际上知道iText不支持break word。