最近在实现一个功能,就是导出pdf中的竖排文本,这个功能看似简单,实现起来却非常不爽。
通过比较,用了jasperreports,可是,在ireport的界面中找了N次,并在网上搜了N+1次,也没这个功能。
只有一个看似相近的功能,那就是rotation。可是效果是:
另外,我试着写了一个类:VerticalText
public static String toVertical(String txt) {
StringBuffer sb = new StringBuffer();
int i = 0;
if (txt != null && txt.length() > 0) {
for (char ch : txt.toCharArray()) {
i++;
if (i % 20 == 0)
sb.append(ch).append("\r");
else
sb.append(ch);
}
}
return sb.toString();
}
然后在jrxm中引用:
<textFieldExpression><![CDATA[(new com.sw.util.VerticalText()).toVertical($F{V15QFOGX34FOBL},3)]]></textFieldExpression>
效果是:
而在word中,竖排文本效果:
不知谁曾遇到这个问题?
不甚感激。