`
JavaCrazyer
  • 浏览: 2990185 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

使用JAVA(iText)生成word(rtf)文档---内容可含图片哦

阅读更多

 

当我使用这个JAVA生成RTF文件时费了好大的劲,原本是想生成WORD文档的,但是WORD文档POI只支持往生成的


WORD中填入文本,对于图片根本就不支持。后来想想,RTF格式的也可用WORD打开,不如生成RTF。结果上网搜


了很多技术,Itext,jacob,java2word,rtftemplate,reportrunner看了近一天也没什么头绪,写这些示例的几


乎没有,还好Itext的例子有那么几个,可是我上官网下了最新核心包后发现,导入例子中居然全部红叉,原


本以为上错网站了,再经过核实还是对的,于是断定网上的例子肯定有误,itext或许不能用。绕了大半天其


他的技术我真的没法弄了,还是回到了iText,静下心来思考觉得包肯定有问题,仔细一看原来最新版的是支


持PDF版的iText-5.0.1.jar是不对的,本来以为最新的功能最全了,没想到错了,想到这里赶紧下了稍微


iText-2.1.7.jar结果终于成功了,感慨不已!现贡献代码如下


记住官网上只能下到核心包:iText-1.2.7.jar和支持rtf的iText-rtf-2.1.7.jar这两个貌似对了,其实还有


一个包是比较重要的iTextAsian.jar这个包对于设置字体什么的起了关键作用上网可以搜到的

 

官方网站:http://sourceforge.net/projects/itext/files/

 

代码如下

 

public class RTFCreate {

private static final String FILE_NAME = "e:/JAVA第一个RTF文档生成.rtf";

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

try {

RTFCreate rtfMain = new RTFCreate();

rtfMain.createRTFContext(FILE_NAME);




} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (DocumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}




public void createRTFContext(String path) throws DocumentException,

IOException {

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 titleFont = new Font(bfChinese, 12, Font.BOLD);




// 正文字体风格

Font contextFont = new Font(bfChinese, 10, Font.NORMAL);




Paragraph title = new Paragraph("标题");

// 设置标题格式对齐方式

title.setAlignment(Element.ALIGN_CENTER);

title.setFont(titleFont);

document.add(title);




String contextString = "iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。";

Paragraph context = new Paragraph(contextString);

// 正文格式左对齐

context.setAlignment(Element.ALIGN_LEFT);

context.setFont(contextFont);

// 离上一段落(标题)空的行数

context.setSpacingBefore(20);

// 设置第一行空的列数

context.setFirstLineIndent(20);




document.add(context);




// //在表格末尾添加图片

Image png = Image.getInstance("c:/fruit.png");

document.add(png);

document.close();

}




}

 

 

 

 


 

7
0
分享到:
评论
12 楼 chentianhui 2015-02-11  
生成的图片被放大了1/3,这个是啥原因
11 楼 lesliewong123 2013-12-18  
大概vgvdtr
10 楼 sdw2wyy 2012-10-29  
怎么样给图片或者文字加个超链接????
9 楼 leilei_wl 2012-08-25  
你好,请问一个关于ITEXT的字体设置,目前也在用ITEXT,只是字体一直设置不生效,我目前想用楷体字,请问该如何做?
注:已经按照网上其他人的做法,但仍然不生效
8 楼 haiyangyiba 2012-05-31  
我允许了一下,为什么文件是乱码,打不开呢
7 楼 月亮不懂夜的黑 2011-11-07  
学习了。。。谢谢lz
6 楼 zhwq1216 2011-08-11  
sourceforge 上面已经找不到2.1.7的了,可以从maven库中下载

http://mirrors.ibiblio.org/pub/mirrors/maven2/com/lowagie/itext-rtf/2.1.7/itext-rtf-2.1.7.jar
http://grepcode.com/snapshot/repo1.maven.org/maven2/com.lowagie/itext/2.1.7

http://stackoverflow.com/questions/1876678/itext-5-0-0-where-did-rtf-and-html-go
5 楼 hejiaqi789 2011-07-25  
有没有做过上标和下标?
4 楼 yucai 2010-11-16  
谢谢,正好用到简单的word生成
3 楼 1174511820 2010-07-29  
请教个问题啊,为什么我用iText生成Word文档后只要在里面进行任意操作,甚至删除东西,都会引起文件大小变化啊?原来只有100多K的,修改后居然有10多M
2 楼 JavaCrazyer 2010-04-23  
客气客气,我也只是分享下自己的一小点经验而已
1 楼 speed_guo 2010-04-23  
多谢分析,我现在也在搞这个,看了你的,清晰了不少

相关推荐

    itext-2.1.7.jar itext-rtf-2.1.7.jar

    java导出word文档,使用itext包,可以生成pdf,word,生成段落,插入图图片,页码

    Itext word转pdf

    文档POI只支持往生成的中填入文本,对于图片根本就不支持。使用itext 生成rtf格式的直接保存为word

    java 生成word表格包括表格插入图片

    如何用java生成动态word表格,以及在表格中插入图片是一个难题,花了两天时间做出来的,希望对大家有帮助 需要jar包:iText-2.1.7.jar, iText-rtf-2.1.7.jar, iTextAsian.jar和jxl.jar 注意前两个jar包的版本要能...

    itext生成word

    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。" 通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 下载iText.jar文件后,只需要在系统的...

    itext-2.1.7.jar itext-rtf-2.1.7.jar 和源码

    java导出word文档,使用itext包,可以生成pdf,word,生成段落,插入图图片,页码

    跨平台的word(doc,docx,rtf)插入图片功能

    跨平台支持doc,docx,rtf的图片插入,不是生成文档,而是在现有文档上追加后生成新文档。 另外需要安装OpenOffic,并且启动服务,详情见jodconverter的官网。 使用到的技术有iText,poi,jodconverter 使用方法: 1、...

    java实现word合并(poi,jacob,docx4j,plutext)及文件格式转换全家桶

    word合并全家桶,包括横页和竖页兼容合并,里面包含使用文件格式转换,rtf转换为标准的word格式或者其他类型转换,jacob合并word案例及jar包,docx4j合并word案例及jar包,还有poi合并,以及Plutext-Enterprise-3.3.0.6...

    Itext实现自动生成pdf word文件

    iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

    itext api 5.35

    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,...

    iText可以制作中文PDF文件的JAVA源程序.rar

    java生成word,pdf,rtf等文档用到的jar文件

    itext jar包

    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF,word,rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar...

    iText包,Dome

    iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF,Word文件。 http://blog.csdn.net/cs_li1126/article/details/18411219

    zxing.java源码解析-report:生成pdf报表

    PDF:iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 2. Openoffice:openoffice是开源软件且能在windows和linux平台下...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为...

Global site tag (gtag.js) - Google Analytics