如下代码使用itext生成pdf文件,通过设置中文字体避免乱码。

/**

* AsianTest.java

*/

import java.io.FileOutputStream;

import java.io.IOException;

import com.lowagie.text.*;

import com.lowagie.text.pdf.PdfWriter;

import com.lowagie.text.pdf.BaseFont;

import com.lowagie.text.Font;

import java.awt.Color;

public class AsianTest {

public static void main(String[] args) {

// 创建一个Document对象

Document document = new Document();

try {

// 生成名为 AsianTest.pdf 的文档

PdfWriter.getInstance(document, new FileOutputStream(

"c://AsianTest.pdf"));

/**

* 新建一个字体,iText的方法 STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀

* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀 H 代表文字版式是 横版, 相应的 V

* 代表竖版

*/

BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",

"UniGB-UCS2-H", false);

Font bold_fontChinese = new Font(bfChinese, 12, Font.BOLD,

Color.BLACK);

Font italic_fontChinese = new Font(bfChinese, 12, Font.ITALIC,

Color.BLACK);

Font impressFont = new Font(bfChinese, 16, Font.BOLDITALIC,

Color.BLACK);

// 打开文档,将要写入内容

document.open();

// 插入一个段落

// Paragraph par = new Paragraph("我们", fontChinese);

// document.add(par);

//

document.add(new Paragraph(" ", bold_fontChinese));

document.add(new Paragraph(" ", bold_fontChinese));

document.add(new Paragraph(" ", bold_fontChinese));

String[] Trainspotting1 = { "选择生命,选择工作,选择职业,选择家庭,",

"选择可恶的大彩电,选择洗衣机、汽车、雷射碟机,", "选择健康、低胆固醇和牙医保险,选择楼宇按揭,",

"选择你的朋友,选择套装、便服和行李,选择分期付款和三件套西装,",

"选择收看无聊的游戏节目,边看边吃零食……选择你的未来,选择生命……", "太多选择,你选择什么,我选择不选择。" };

String[] Trainspotting2 = { "这是电影《猜火车》开头的旁白。", "这是一个关于“选择”的故事。" };

String[] Benjamin1 = { "有些人就在河边出生长大,", "有些人被闪电击中,",

"有些人对音乐有着非凡的天赋,", "有些人是艺术家,", "有人会游泳,", "有人懂得做纽扣,",

"有人会背莎士比亚,", "而有些人。。。是母亲,", "也有些人,可以翩翩起舞。",

"Goodnight Daisy", "Goodnight Benjamin" };

String[] Benjamin2 = { "这是电影《本杰明传奇》结尾的旁白。", "这是一个关于“错过”的故事。" };

String[] text1 = { "我想说的是,", "我们选择,同时,我们错过。" };

String[] text2 = { "抛去无可选择的选择,抑或不选择的选择,",

"很有趣的一件事:当面临(太多的)选择,人们会如何选择;", "同时,人们又会如何看待错过。" };

String[] text3 = { "在开始和结束之间,选择了什么,又会错过什么,我还不知道。" };

String[] text4 = { "你会知道么?" };

//

for (String s : Trainspotting1) {

document.add(new Paragraph(s, italic_fontChinese));

document.add(new Paragraph(" ", italic_fontChinese));

}

for (String s : Trainspotting2) {

document.add(new Paragraph(s, bold_fontChinese));

}

document.add(new Paragraph(" ", bold_fontChinese));

document.add(new Paragraph(" ", bold_fontChinese));

document.add(new Paragraph(" ", bold_fontChinese));

for (String s : Benjamin1) {

document.add(new Paragraph(s, italic_fontChinese));

document.add(new Paragraph(" ", italic_fontChinese));

}

for (String s : Benjamin2) {

document.add(new Paragraph(s, bold_fontChinese));

}

document.add(new Paragraph(" ", bold_fontChinese));

document.add(new Paragraph(" ", bold_fontChinese));

document.add(new Paragraph(" ", bold_fontChinese));

for (String s : text1) {

document.add(new Paragraph(s, bold_fontChinese));

}

document.add(new Paragraph(" ", bold_fontChinese));

for (String s : text2) {

document.add(new Paragraph(s, bold_fontChinese));

}

document.add(new Paragraph(" ", bold_fontChinese));

for (String s : text3) {

document.add(new Paragraph(s, bold_fontChinese));

}

document.add(new Paragraph(" ", bold_fontChinese));

for (String s : text4) {

document.add(new Paragraph(s, bold_fontChinese));

}

document.add(new Paragraph(" ", bold_fontChinese));

//

String[] end = { "Some people were born to sit by a river...",

"Some get struck by light...",

"Some have an ear for music...", "Some are artists...",

"Some swim...", "Some know buttons...",

"Some know Shakespeare...", "Some are mothers...",

"And some people can dance..." };

for (String s : end) {

document.add(new Paragraph(s, bold_fontChinese));

}

document.add(new Paragraph(

"by the way, some people can write code.你", impressFont));

// Chapter

Paragraph title1 = new Paragraph("Chapter 1", italic_fontChinese);

Chapter chapter1 = new Chapter(title1, 1);

chapter1.setNumberDepth(0);

Paragraph title11 = new Paragraph(

"This is Section 1 in Chapter 1中文", italic_fontChinese);

Section section1 = chapter1.addSection(title11);

Paragraph someSectionText = new Paragraph(

"This text comes as part of section 1 of chapter 1.");

section1.add(someSectionText);

someSectionText = new Paragraph("Following is a 3 X 2 table.");

section1.add(someSectionText);

//

document.add(chapter1);

//

// 定义一个图片

Image jpeg = Image.getInstance("E:/01.jpg");

// 图片居中

jpeg.setAlignment(Image.ALIGN_CENTER);

document.add(jpeg);

} catch (DocumentException de) {

System.err.println(de.getMessage());

} catch (IOException ioe) {

System.err.println(ioe.getMessage());

}

// 关闭打开的文档

document.close();

}

}

java生成pdf字体居中,Java生成pdf文件,解决中文乱码问题相关推荐

  1. c执行cmd pdf2swf_swftools实现pdf文档转swf文件 解决中文乱码

    通过swftools实现转换 2.安装完成之后,在命令行跳到安装目录,执行pdf2swf.exe d:\sss\123.pdf  -o 123.swf 如果123.pdf为多页的,则pdf2swf.e ...

  2. java解压多目录Zip文件(解决中文乱码问题)--转载

    原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.F ...

  3. java解压_Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)

    JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的 zip文件打开时发现中文文件名变成乱码. 解决的方法是使用apache-ant-zip.jar包(见附件)中的 ...

  4. java web应用 生僻字_Java Web项目中解决中文乱码方法总结

    一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat:默认是ISO8859-1,不 ...

  5. java properties中文_Java读写.properties文件解决中文乱码问题

    一般使用到properties配置文件,一般都是在spring项目里面,直接由框架帮你读,当然,你也得考虑到编码的问题. 但是现在要是要求使用Java直接读写properties文件,就发现很多的问题 ...

  6. php读取pdf文件乱码_PHP读取文件,解决中文乱码UTF-8的方法分析

    本文实例讲述了PHP读取文件,解决中文乱码UTF-8的方法.分享给大家供大家参考,具体如下: $opts = array( 'file' => array( 'encoding' => & ...

  7. php 读取pdf文件内容 显示乱码,PHP读取文件,解决中文乱码UTF-8的方法分析

    本文实例讲述了PHP读取文件,解决中文乱码UTF-8的方法.分享给大家供大家参考,具体如下: $opts = array( "file" => array( "en ...

  8. freemarker html 乱码,Freemarker生成静态html文件及中文乱码的问题.pdf

    Freemarker生成静态html文件及中文乱码的问题,freemarker静态化页面,freemarker静态化,freemarker乱码,freemarker静态方法,freemarker中文乱 ...

  9. 【老徐子杰】PDF转图片方法(解决中文乱码)

    [老徐子杰]PDF转图片方法(解决中文乱码) 欢迎交流使用(本文原创:转载请注明出处) 在做项目的时候,说实话大公司不可能使用破解版的DLL进行开发.所以ADOBE的组建不用,基本的BIMP转法面对各 ...

最新文章

  1. 20162318 2016-2017-2 《程序设计与数据结构》第7周学习总结
  2. 简述ie_apache_php_mysql的关系?,apache +php + mysql
  3. win7 找不到 计算机策略组,win7打开组策略报错:找不到资源string.Advanced_EnableSSL3Fallback...
  4. sqlmap第一次打靶成功
  5. iwconfig的使用
  6. Ubuntu urllib2.URLError:urlopen error unknown url type:https
  7. 小米 MIUI 12 Magisk root教程(无需刷REC)
  8. 【汇编程序】实现判断输入的年份是否为闰年
  9. scapy(二):基于流量分析的SQL注入检测
  10. html页面设置document类型,解析网页头部代码:Html Document
  11. 可变剪接分析流程(rMATS)
  12. python 剔除nan_Pandas的数据清洗-删除NaN数据
  13. PowerVR性能建议-黄金法则
  14. linux两个邮件服务,Linux系列-Red Hat5平台下的Postfix邮件服务搭建(二)
  15. defaultdic与dict对比
  16. mysql使得df和du不一致_df和du显示的磁盘空间使用情况不一致的原因及处理
  17. php实现视频转gif,mp4格式如何转换成gif格式
  18. GSM PDU模式发中文短信
  19. ASEMI整流桥GBU1010的检测
  20. matlab灰色关联逻辑分析模型,灰色理论灰色预测模型和灰色关联度分析matlab通用代码...

热门文章

  1. js学习笔记82——操作内联样式
  2. [机器学习算法]决策树和CART树
  3. Android 黑白模式切换后 文字颜色设置
  4. 浏览器兼容模式的快捷方法
  5. 还在抱怨没客户 这5大找客户技巧需掌握
  6. 电脑每次开机都自检怎么办?
  7. 创梦天地2014年Q3财报:乐逗游戏收入2.945亿元
  8. java was blocked_cors跨域中关于access-control-allow-headers导致的错误
  9. win2016 php mysql_Windows 2016 IIS10.0+PHP+MySQL环境搭建
  10. Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示