展開全部
你好,試試以下代碼行不行。
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();
}
}
}
已贊過
已踩過<
你對這個回答的評價是?
評論
收起