Ordinary hut

人间一福地,胜似天仙宫
posts - 61, comments - 50, trackbacks - 0, articles - 1

用itext生成word

Posted on 2010-04-21 15:00 landor 阅读(3010) 评论(2)  编辑  收藏 所属分类: 导出与图表
用itext生成word,参考了以下两篇文章

生成简单的word图片
http://javacrazyer.javaeye.com/blog/623719   
生成word同时流到客户端
http://www.cnblogs.com/modou/articles/1291024.html

图片想穿插在文字之间,而不是换行:
Image png = Image.getInstance(this.realPath+imgPath);
png.setAbsolutePosition(
00);  
png.setAlignment(Image.TEXTWRAP);
//Image.TEXTWRAP(图片包裹在文字中)、 Image.UNDERLYING(作为文字的背景)
context.add(new Phrase(new Chunk(png, 00true)));//Chunk区块,Phrase(词语)

举个例子:
Document document = new Document(PageSize.A4);
RtfWriter2.getInstance(document, 
new FileOutputStream(path));
document.open();
// 设置中文字体
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font contextFont 
= new Font(bfChinese, 10, Font.NORMAL);
Paragraph context 
= new Paragraph("");
context.setFont(contextFont);
Image png 
= Image.getInstance("D:/busy.gif");
png.setAbsolutePosition(
00);   
png.setAlignment(Image.TEXTWRAP);

context.add(
"aaaaaaaaaaaaaaaaaaaaaaaaaaa");
context.add(
new Phrase(new Chunk(png, 00true)));
context.add(
"bbbbbbbbbbbbbbbbbbbbbbbbbbb");
context.add(
new Phrase(new Chunk(png, 00true)));
context.add(
"ccccccccccccccccccccccccccc");
document.add(context);
document.close();

Feedback

# re: 用itext生成word[未登录]  回复  更多评论   

2010-11-02 12:40 by Silver
我试了背景图片的那段代码,出了个问题

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
at com.lowagie.text.rtf.RtfMapper.mapElement(Unknown Source)
at com.lowagie.text.rtf.text.RtfParagraph.<init>(Unknown Source)
at com.lowagie.text.rtf.RtfMapper.mapElement(Unknown Source)
at com.lowagie.text.rtf.RtfWriter2.add(Unknown Source)
at com.lowagie.text.Document.add(Unknown Source)
at examples.BackGround.main(BackGround.java:49)



请问你遇到过类似的问题吗

# re: 用itext生成word[未登录]  回复  更多评论   

2013-01-11 16:19 by 123
png.setAlignment(Image.UNDERLYING);
图片还是不能作为背景啊

只有注册用户登录后才能发表评论。


网站导航: