itext库生产word文档示例
1 // 设置中文字体------------------------------------------------
2 BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
3 "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
4 // 标题字体风格
5 Font titleFont = new Font(bfChinese, 12, Font.BOLD);
6 // 正文字体风格
7 Font contextFont = new Font(bfChinese, 10, Font.NORMAL);
8
9 // 新建标题,设置格式对齐方式------------------------
10 Paragraph title = new Paragraph("标题");
11 title.setAlignment(Element.ALIGN_CENTER);
12 title.setFont(titleFont);
13 document.add(title);
14
15 // 创建新段落,设置格式---------------------------
16 Paragraph context = new Paragraph("测试:测试:测试:测试:测试:测试:");
17 context.setAlignment(Element.ALIGN_LEFT);
18 context.setFont(contextFont);
19 context.setSpacingBefore(3);// 段间距
20 context.setFirstLineIndent(20);// 设置第一行空的列数
21 document.add(context);
22
23 // 创建一个三列的表格------------------------------
24 Table table = new Table(3);
25 int width[] = { 25, 25, 50 };// 设置每列宽度比例
26 table.setWidths(width);
27 table.setWidth(90);// 占页面宽度比例
28 table.setAlignment(Element.ALIGN_CENTER);// 居中
29 table.setAlignment(Element.ALIGN_MIDDLE);// 垂直居中
30 table.setAutoFillEmptyCells(true);// 自动填满
31 table.setBorderWidth(1);// 边框宽度
32
33 Cell haderCell = new Cell("表格表头");// 设置表头
34 haderCell.setHeader(true);
35 haderCell.setColspan(3);
36 table.addCell(haderCell);
37 table.endHeaders();
38 Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.GREEN);
39 Cell cell = new Cell(new Paragraph("这是一个3*3测试表格数据", fontChinese));
40 cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
41 table.addCell(cell);
42 table.addCell(new Cell("#1"));
43 table.addCell(new Cell("#2"));
44 table.addCell(new Cell("#3"));
45
46 document.add(table);
47 document.close();
48
49 }
(一)生产文件直接存储到本地
1 RtfWriter2.getInstance(document, new FileOutputStream("D://fileName.doc"));
(二)生产文件 存到数据库中
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
RtfWriter2.getInstance(document, outputStream);
RtfWriter2.getInstance(document, outputStream);
文件信息形式转化:ByteArrayOutputStream->InputStream->Blob
如:ByteArrayOutputStream outStream=new ByteArrayOutputStream();
InputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
Blob fileObject = Hibernate.createBlob(inStream);
详见博文" 文档上传(通过网页上传到服务器)..."
InputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
Blob fileObject = Hibernate.createBlob(inStream);
详见博文" 文档上传(通过网页上传到服务器)..."
(三)生产文件 供下载
OutputStream outputStream;
RtfWriter2.getInstance(document, outputStream);
详见博文" 文件下载(从数据库下载到本地)…"
RtfWriter2.getInstance(document, outputStream);
详见博文" 文件下载(从数据库下载到本地)…"