iText操作Pdf如何输出中文?
首先需要下载iTextAsian.jar包,可以到iText的主站上下,ireport也是需要这个包的。然后定义中文字体:
private static final Font getChineseFont() { Font FontChinese = null; try { BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); FontChinese = new Font(bfChinese, 12, Font.NORMAL); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } return FontChinese; }
我将产生中文字体封装在方法内,自定义一个段落PDFParagraph继承自Paragraph,默认使用中文字体:
class PDFParagraph extends Paragraph { public PDFParagraph(String content) { super(content, getChineseFont()); } }
使用的时候就可以简化了:
Paragraph par = new PDFParagraph("你好"); |