以下代码使用itext生成pdf文件,并设置中文字体以避免乱码。
//*
* AsianTest.java
*/
import java.io.FileOutputStream;
import java.io.IOException;
输入com.low agie.text.*;
import com.low agie.text.pdf.pdf writer;
import com.low agie.text.pdf.base font;
import com.lowagie.text.Font;
import java.awt.Color;
公共类东盟测试{
publicstaticvoidmain (字符串[ ] args ) {
创建文档对象
文档文档=new document (;
try {
生成名为AsianTest.pdf的文档
pdf writer.getinstance (文档,新文件输出流(
' c://AsianTest.pdf ' );
//*
*创建新字体。 iText的方法STSongStd-Light是字体,iTextAsian.jar使用property作为后缀
* UniGB-UCS2-H是代码,iTextAsian.jar使用cmap作为后缀h表示字符布局是水平书写的,对应的v
*表示竖版
*/
basefontbfchinese=base font.create font (stsong STD-light ),
' UniGB-UCS2-H ',false;
font bold _ font Chinese=new font (BF Chinese,12,Font.BOLD,
Color.BLACK;
font italic _ font Chinese=new font (BF Chinese,12,Font.ITALIC,
Color.BLACK;
fontimpressfont=new font (BF Chinese,16,Font.BOLDITALIC,
Color.BLACK;
//打开文档并写入内容
document.open (;
//插入段落
//Paragraph par=new Paragraph ('我们',fontChinese );
//document.add(par;
//
document.add(newparagraph (',bold_fontChinese );
document.add(newparagraph (',bold_fontChinese );
document.add(newparagraph (',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();
}
}