当前位置: 技术问答>java相关
用Pdf格式生成报表时中文无法显示,换行?
来源: 互联网 发布时间:2017-04-15
本文导语: 我在网上下载了。itext生成pdf的类库,我的代码如下: document.add(new Paragraph("文件fsfdsfdsf",FontFactory.getFont(FontFactory.HELVETICA, 12))); 没有出现"文件"两个汉字",而且表格单格中如何让它断行? 难道还需编码设置吗? ...
我在网上下载了。itext生成pdf的类库,我的代码如下:
document.add(new Paragraph("文件fsfdsfdsf",FontFactory.getFont(FontFactory.HELVETICA, 12)));
没有出现"文件"两个汉字",而且表格单格中如何让它断行?
难道还需编码设置吗?
document.add(new Paragraph("文件fsfdsfdsf",FontFactory.getFont(FontFactory.HELVETICA, 12)));
没有出现"文件"两个汉字",而且表格单格中如何让它断行?
难道还需编码设置吗?
|
前两天我也遇到了同样的问题,不过在高手的指点下我已经解决了该问题。十分感谢他。我也把解决方法告诉你吧。
1、你必须下载一个IText的东方语言包;
2、指定此包的classpath;
3、导入包。
例如:
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
Document document = new Document(PageSize.A4.rotate(), 30, 30, 30, 30);
try {
//获得PdfWriter
PdfWriter.getInstance(document, "example.pdf");
//打开document
document.open();
//获得用于显示中文的字体
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false, false, null, null);
Font fontChinese = new Font(bf,12, Font.BOLD);
//用指定的字体显示
document.add(new Paragraph("文件fsfdsfdsf",fontChinese));
}catch(Exception e) {
e.printStackTrace();
}
// 关闭document
document.close();
4、如果要断行显示,可以在断行处加n即可。
如果需要这个语言包,也可以将你的Email告诉我,我发给你。
1、你必须下载一个IText的东方语言包;
2、指定此包的classpath;
3、导入包。
例如:
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
Document document = new Document(PageSize.A4.rotate(), 30, 30, 30, 30);
try {
//获得PdfWriter
PdfWriter.getInstance(document, "example.pdf");
//打开document
document.open();
//获得用于显示中文的字体
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false, false, null, null);
Font fontChinese = new Font(bf,12, Font.BOLD);
//用指定的字体显示
document.add(new Paragraph("文件fsfdsfdsf",fontChinese));
}catch(Exception e) {
e.printStackTrace();
}
// 关闭document
document.close();
4、如果要断行显示,可以在断行处加n即可。
如果需要这个语言包,也可以将你的Email告诉我,我发给你。