/**
* 导出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 中文无法显示的更多相关文章

  1. Firebug中调试中的js脚本中中文内容显示为乱码

    Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...

  2. 解决 git 中文路径显示 unicode 代码的问题

    解决 git 中文路径显示 unicode 代码的问题 当被修改的文件中带有中文字符时,中文字符会被转换为 unicode 代码,看不出原来的文件名. 这时,只要配置 :: git config -- ...

  3. plsql中文乱码显示问号的解决办法

    问题现象:  PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号????. 解决办法: 1. 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出: ...

  4. JSP 中文乱码显示处理解决方案

    来源: <http://blog.csdn.net/joyous/article/details/1504274> JSP 中文乱码显示处理解决方案 分类: 所有 Web前端 J2EE20 ...

  5. 关于JAVA应用中文字体显示小方框的问题解决

    最近碰到linux下jboss应用中中文字体显示为小方框: “在JRE 5以上的java环境中,java会自动加载$JAVA_HOME/jre/lib/fonts目录下的字体.链接或复制宋体或微软雅黑 ...

  6. PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空,DeDeCMS在PHP5.4下编辑器中文不显示问题

    在加入 发布招聘功能的时候,出现问题了,就是修改招聘信息的时候.编辑器内容不显示,只显示英文,中文不显示,以前记得开发此功能没这问题啊!然后各种原因找不出,没办法,从编辑器函数入手,一步一步查,查到 ...

  7. jmeter随笔(5)--断言中正则表达式的特殊字符问题和中文乱码显示问号的问题

    最近在工作中,对jmeter实践的点滴的记录,这里分享交流,不一定正确,仅供参考和讨论,有想法的欢迎留言.谈论,手机上图片如果不清晰,请点击[阅读原文]查看. 问题:今天QQ群一朋友遇到jmeter的 ...

  8. PLSQL:plsql中文乱码,显示问号

    PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号???? 1. 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出

  9. IText 中文字体解决方案 生成doc文档

    IText生成doc文档需要三个包:iTextAsian.jar,iText-rtf-2.1.4.jar,iText-2.1.4.jar 亲测无误,代码如下: import com.lowagie.t ...

随机推荐

  1. ALAsset

    ALAsset类代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,ALAssetRepresentation类代表相册中每个资源文件的详细信息,可以通过它获取资源的大小 ...

  2. 用c语言实现的几个小项目

    1.参考:Linux系统编程 2.参考:制作简单计算器 3.参考:制作2048小游戏 4.参考:五子棋实现

  3. ZJNU 1538 - YN!ngC的取子游戏--高级

    Nim博弈 因为移动到第0阶会消失 所以可以得到从最后一个人操作必定是把第1阶所有子全部移动到第0阶 递推可得,最后一个能把奇数阶的子移动到偶数阶上的人将会必胜 所以这个必胜条件就是奇数阶上的子全部为 ...

  4. 微信小程序java8 java7 java6 encryptedData 解密 异常处理

    使用java8 java7  java6 解密微信小程序encryptedData可以回遇到一些错误 1.java.security.NoSuchAlgorithmException: Cannot ...

  5. Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之列表类型(list)

    Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表 ...

  6. LeetCode——853.车队

    N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地. 每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地. 一辆车 ...

  7. apt源换国内源

    vim /etc/apt/sources.list deb http://mirrors.163.com/debian/ jessie main non-free contribdeb http:// ...

  8. 详解python可迭代对象、迭代器和生成器

    可迭代对象 什么是可迭代对象?顾名思义就是可以迭代的一个对象,再通俗点就是可以被for循环遍历的对象,如常用的list.str等数据类型.我们可以使用isinstance来判断这个数据是否是可迭代对象 ...

  9. 1051: [HAOI2006]受欢迎的牛 (tarjan强连通分量+缩点)

    题目大意:CodeVs2822的简单版本 传送门 $Tarjan$强连通分量+缩点,若连通块的个数等于一则输出n:若缩点后图中出度为0的点个数为1,输出对应连通块内的点数:否则输出0: 代码中注释部分 ...

  10. nginx+tomcat配置集群

    安装nginx以及两个以上tomcat,并启动 配置集群nginx/conf/nginx.conf文件 说明:server_list为名字,可以在每台服务器ip后面添加weight number,设置 ...