该行自动打印到paragaph的下一行。如何保持预先格式化
line 1
line 2
line 3
我试图从Paragraph类中找到答案,没有运气。
有人能帮忙吗?
感谢。
答案 0 :(得分:0)
让我们看看HTMLWorker如何处理“pre”...它将面部设置为Courier,并设置“isPre”标志。
在text(String str)
中,HTMLWorker将对换行符,空格,制表符等进行一些过滤... UNLESS isPre设置,在这种情况下,'str'直接传递到一个块并添加到当前段落。
所以看起来你只需要保存你的空格,“\ n”,等等,在分析你的输入时。
new chunk( "foo\n\n bar\n baz\n qux" )
应显示为:
foo bar baz qux
PS:你的问题并不是那么清楚,所以我很可能会回答你提出的问题。样本代码不会出错。
答案 1 :(得分:0)
html文件包含<pre>
标记,您希望以pdf格式保留其格式。
尝试
String fileAsOneBigStr = FileUtils.readFileToString(new File
("aFileName"), "UTF-8"); //FileUtils comes from import
//org.apache.commons.io.FileUtils;
Pattern p = Pattern.compile("(?i)<pre>(.*)</pre>");
Matcher m = p.matcher(fileAsOneBigStr);
StringBuffer sb = new StringBuffer();
while (m.find()) {
String line = m.group(1) + "<br/>";
m.appendReplacement(sb, line);
}
m.appendTail(sb);
String strToBePassedToITextPdf = sb.toString();
希望这有帮助。如果您找到更好的解决方案,请告诉我(simsamsara3@gmail.com)