展开全部
你好,试试以下代码行不行。
package
com.sample;
import
java.awt.color;
import
java.io.fileoutputstream;
import
java.io.ioexception;
import
com.lowagie.text.cell;
import
com.lowagie.text.document;
import
com.lowagie.text.documentexception;
import
com.lowagie.text.element;
import
com.lowagie.text.font;
import
com.lowagie.text.fontfactory;
import
com.lowagie.text.image;
import
com.lowagie.text.pagesize;
import
com.lowagie.text.paragraph;
import
com.lowagie.text.phrase;
import
com.lowagie.text.table;
import
com.lowagie.text.pdf.basefont;
import
com.lowagie.text.rtf.rtfwriter2;
/**
*
*
@author
wangyanjun
*
bd_wyj@sina.com
*
@createdate
jun
12,
2008
*/
public
class
createworddemo
{
public
void
createdoccontext(string
file)
throws
documentexception,
ioexception
{
//
设置纸张大小
document
document
=
new
document(pagesize.a4);
//
建立一个书写器(writer)与document对象关联,通过书写器(writer)可以62616964757a686964616fe58685e5aeb931333433626535将文档写入到磁盘中
rtfwriter2.getinstance(document,
new
fileoutputstream(file));
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类库。"
+
"
\n"//
换行
+
"itext的java类对于那些要产生包含文本,"
+
"表格,图形的只读文档是很有用的。它的类库尤其与java
servlet有很好的给合。"
+
"使用itext与pdf能够使你正确的控制servlet的输出。";
paragraph
context
=
new
paragraph(contextstring);
//
正文格式左对齐
context.setalignment(element.align_left);
context.setfont(contextfont);
//
离上一段落(标题)空的行数
context.setspacingbefore(5);
//
设置第一行空的列数
context.setfirstlineindent(20);
document.add(context);
//利用类fontfactory结合font和color可以设置各种各样字体样式
/**
*
font.underline
下划线,font.bold
粗体
*/
paragraph
underline
=
new
paragraph("下划线的实现",
fontfactory.getfont(
fontfactory.helvetica_boldoblique,
18,
font.underline,
new
color(0,
0,
255)));
document.add(underline);
//
设置
table
表格
table
atable
=
new
table(3);
int
width[]
=
{25,25,50};
atable.setwidths(width);//设置每列所占比例
atable.setwidth(90);
//
占页面宽度
90%
atable.setalignment(element.align_center);//居中显示
atable.setalignment(element.align_middle);//纵向居中显示
atable.setautofillemptycells(true);
//自动填满
atable.setborderwidth(1);
//边框宽度
atable.setbordercolor(new
color(0,
125,
255));
//边框颜色
atable.setpadding(2);//衬距,看效果就知道什么意思了
atable.setspacing(3);//即单元格之间的间距
atable.setborder(2);//边框
//设置表头
/**
*
cell.setheader(true);是将该单元格作为表头信息显示;
*
cell.setcolspan(3);指定了该单元格占3列;
*
为表格添加表头信息时,要注意的是一旦表头信息添加完了之后,
*
必须调用
endheaders()方法,否则当表格跨页后,表头信息不会再显示
*/
cell
hadercell
=
new
cell("表格表头");
hadercell.setheader(true);
hadercell.setcolspan(3);
atable.addcell(hadercell);
atable.endheaders();
font
fontchinese
=
new
font(bfchinese,
12,
font.normal,
color.green);
cell
cell
=
new
cell(new
phrase("这是一个测试的
3*3
table
数据",
fontchinese
));
cell.setverticalalignment(element.align_top);
cell.setbordercolor(new
color(255,
0,
0));
cell.setrowspan(2);
atable.addcell(cell);
atable.addcell(new
cell("#1"));
atable.addcell(new
cell("#2"));
atable.addcell(new
cell("#3"));
atable.addcell(new
cell("#4"));
cell
cell3
=
new
cell(new
phrase("一行三列数据",
fontchinese
));
cell3.setcolspan(3);
cell3.setverticalalignment(element.align_center);
atable.addcell(cell3);
document.add(atable);
document.add(new
paragraph("\n"));
//添加图片
image
img=image.getinstance("d:\\img01800.jpg");
img.setabsoluteposition(0,
0);
img.setalignment(image.right);//设置图片显示位置
img.scaleabsolute(12,35);//直接设定显示尺寸
img.scalepercent(50);//表示显示的大小为原尺寸的50%
img.scalepercent(25,
12);//图像高宽的显示比例
img.setrotation(30);//图像旋转一定角度
document.add(img);
document.close();
}
/**
*
@param
args
*/
public
static
void
main(string[]
args)
{
createworddemo
word
=
new
createworddemo();
string
file
=
"c:/demo1.doc";
try
{
word.createdoccontext(file);
}
catch
(documentexception
e)
{
e.printstacktrace();
}
catch
(ioexception
e)
{
e.printstacktrace();
}
}
}
已赞过
已踩过<
你对这个回答的评价是?
评论
收起