iText 中文无法显示
/**
* 导出PDF工具com.lowagie.itext测试
*
* @param response
* @throws IOException
* @throws DocumentException
*/
@RequestMapping(value = "/emp/download/pdf", method = RequestMethod.GET)
public void downloadPdf(HttpServletResponse response) throws IOException, DocumentException {
// 设置编码
response.setCharacterEncoding("utf-8"); //设置响头部
response.setHeader("Content-Type","application/pdf");
//设置文件下载的默认名称
StringBuilder filename = new StringBuilder("attachment;filename=");
filename.append("employee["+new SimpleDateFormat("yyyyMMdd").format(new Date())+"].pdf");
response.setHeader("Content-Disposition", String.valueOf(filename)); //相关中文字体显示配置
//第一种:使用iTextAsian.jar包中的字体
BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font font = new Font(baseFont); //第二种:使用Windows系统字体
BaseFont baseFont_zh = BaseFont.createFont("C:\\Windows\\Fonts\\STFANGSO.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font_zh = new Font(baseFont_zh); //第三种:使用资源字体,也就是自己下载的字体
BaseFont baseFont_resources = BaseFont.createFont("\\SIMYOU.TIF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
Font font_resources = new Font(baseFont_resources); Document document = new Document();
PdfWriter.getInstance(document, response.getOutputStream()); document.open(); List<Emp> all = empService.findAll(); for (Emp emp : all) {
PdfPTable pdfPTable = new PdfPTable(5); PdfPCell pdfPCell = new PdfPCell(); //注意这里 new Paragraph()
//第一个参数是内容,第二个参数是字体,这里font_zh对应的是Windows下的字体库的某种字体
//下同
pdfPCell.setPhrase(new Paragraph(String.valueOf(emp.getEmpId()),font_zh));
pdfPTable.addCell(pdfPCell);
document.add(pdfPTable); pdfPCell = new PdfPCell();
pdfPCell.setPhrase(new Paragraph(emp.getEmpName(),font_zh));
pdfPTable.addCell(pdfPCell);
document.add(pdfPTable); pdfPCell = new PdfPCell();
pdfPCell.setPhrase(new Paragraph(emp.getEmpGender(),font_zh));
pdfPTable.addCell(pdfPCell);
document.add(pdfPTable); pdfPCell = new PdfPCell();
pdfPCell.setPhrase(new Paragraph(emp.getEmail(),font_zh));
pdfPTable.addCell(pdfPCell);
document.add(pdfPTable); pdfPCell = new PdfPCell();
pdfPCell.setPhrase(new Paragraph(emp.getDepartment(),font_zh));
pdfPTable.addCell(pdfPCell);
document.add(pdfPTable);
} document.close(); ServletOutputStream outputStream = response.getOutputStream();
outputStream.flush();
outputStream.close(); }
LiveGreen(LC)
iText 中文无法显示的更多相关文章
- Firebug中调试中的js脚本中中文内容显示为乱码
Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...
- 解决 git 中文路径显示 unicode 代码的问题
解决 git 中文路径显示 unicode 代码的问题 当被修改的文件中带有中文字符时,中文字符会被转换为 unicode 代码,看不出原来的文件名. 这时,只要配置 :: git config -- ...
- plsql中文乱码显示问号的解决办法
问题现象: PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号????. 解决办法: 1. 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出: ...
- JSP 中文乱码显示处理解决方案
来源: <http://blog.csdn.net/joyous/article/details/1504274> JSP 中文乱码显示处理解决方案 分类: 所有 Web前端 J2EE20 ...
- 关于JAVA应用中文字体显示小方框的问题解决
最近碰到linux下jboss应用中中文字体显示为小方框: “在JRE 5以上的java环境中,java会自动加载$JAVA_HOME/jre/lib/fonts目录下的字体.链接或复制宋体或微软雅黑 ...
- PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空,DeDeCMS在PHP5.4下编辑器中文不显示问题
在加入 发布招聘功能的时候,出现问题了,就是修改招聘信息的时候.编辑器内容不显示,只显示英文,中文不显示,以前记得开发此功能没这问题啊!然后各种原因找不出,没办法,从编辑器函数入手,一步一步查,查到 ...
- jmeter随笔(5)--断言中正则表达式的特殊字符问题和中文乱码显示问号的问题
最近在工作中,对jmeter实践的点滴的记录,这里分享交流,不一定正确,仅供参考和讨论,有想法的欢迎留言.谈论,手机上图片如果不清晰,请点击[阅读原文]查看. 问题:今天QQ群一朋友遇到jmeter的 ...
- PLSQL:plsql中文乱码,显示问号
PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号???? 1. 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出
- IText 中文字体解决方案 生成doc文档
IText生成doc文档需要三个包:iTextAsian.jar,iText-rtf-2.1.4.jar,iText-2.1.4.jar 亲测无误,代码如下: import com.lowagie.t ...
随机推荐
- 生成随机数(Random类)和获取用户输入(Scanner类)
生成指定范围内的随机数 Math.random() 生成随机数,随机数在0到1之间,类型是 double. public class randCase { public static void mai ...
- JAVA中如何判断一个输入是数字(小数和整数)还是字符串?
public class Test1 { public static void main(String[] args) { Scanner input = new Scanne ...
- 实现Action
实现Action 对于开发者来说,Action才是应用的核心,开发者需要提供大量的Action类,并在Struts.xml文件中配置Action.Action类中包含了用户请求的处理逻辑,Action ...
- [Algo] 118. Array Deduplication IV
Given an unsorted integer array, remove adjacent duplicate elements repeatedly, from left to right. ...
- [Algo] 117. Array Deduplication III
Given a sorted integer array, remove duplicate elements. For each group of elements with the same va ...
- if_while
import random secret=random.randint(1,10) tmp=input("请输入一个数") guess=int(tmp) while guess!= ...
- Salt常用命令二
############################模块############################ 查看模块列表——module salt ‘minion’ sys.list_mo ...
- Java 10按钮设计(awt)
/** * 2019年8月9日08:03:41 * 目的:利用Java设计10个按钮 * @author 张涛 * */ //导入awt包 import java.awt.*; import java ...
- drf偏移分页组件-游标分页-自定义过滤器-过滤器插件django-filter
drf偏移分页组件 LimitOffsetPagination 源码分析:获取参数 pahenations.py from rest_framework.pagination import Limit ...
- JavaScript学习笔记 - 进阶篇(7)- 浏览器对象
window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,window对象重点讲解计时器. ...