java pdf 中文_java使用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();

}

}

下载次数: 318

下载次数: 443

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2009-04-13 17:45

浏览 12501

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值