首页 > 编程知识 正文

javalayout组件居中,pdf字体乱码怎么解决

时间:2023-05-06 04:46:32 阅读:20369 作者:3554

以下代码使用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();

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。