import java.io.*;
import java.util.*;
import java.util.List;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
/**
* 创建Pdf文档
*/
public class HelloPdf{
//先建立Document对象
Document document = new Document(PageSize.A4, 36.0F, 36.0F, 36.0F, 36.0F);
String filenameuuid = UUID.randomUUID().toString();
public void getPdfIo() throws DocumentException, IOException{
//字体的定义
BaseFont fontChinesetitle = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
BaseFont fontChinesecontent = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);
Font FontChinese = new Font(fontChinesetitle, 12, Font.NORMAL);
Font chinese = new Font(fontChinesecontent, 10, Font.NORMAL);
//保存本地指定路径
saveLocal();
//设置页眉
Paragraph para = new Paragraph("会议管理综合查询" , FontChinese);
HeaderFooter header=new HeaderFooter(para,false);
header.setBorder(Rectangle.NO_BORDER); //设置为没有边框
header.setAlignment(1);
document.setHeader(header);
//设置页脚
HeaderFooter footer_right = new HeaderFooter(new Paragraph("",chinese), true);
footer_right.setAlignment(1);
footer_right.setBorder(Rectangle.NO_BORDER);
document.setFooter(footer_right);
//打开文件
document.open();
//生成八列表格
PdfPTable table = new PdfPTable(8);
//设置表格具体宽度 100为整张宽度
table.setTotalWidth(100);
//设置每一列所占的长度
table.setWidths(new float[]{6,6,13,12,12,15,24,12});
//设置表头
String titleName[] = {"序号","上下午","会议时间","会议主题","地 点","主办处/召集人","参会范围","备注"};
for(int i=0;i<titleName.length;i++){
PdfPCell celltitle = new PdfPCell();
celltitle.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
celltitle.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE);
Paragraph paratitle = new Paragraph( titleName[i] ,chinese);
paratitle.setAlignment(1);
celltitle.addElement(paratitle);
table.addCell(celltitle);
}
List list = new ArrayList();
Vector vector = new Vector();
vector.add("1");
vector.add("上午");
vector.add("2011-04-11 14:30—2011-04-11 17:00");
vector.add("会议");
vector.add("会议室");
vector.add("书记");
vector.add("所有人");
vector.add("空");
for(int i=0; i<50; i++){
list.add(vector);
}
//获取要写入的内容
Vector info = new Vector();
for(int i=0; i<list.size(); i++){
info = (Vector)list.get(i);
for(int j=0; j<8; j++){
PdfPCell cellcon = new PdfPCell();
cellcon.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
cellcon.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE);
Paragraph paracon = new Paragraph( (String)info.get( j ) ,chinese);
paracon.setAlignment(1);
cellcon.addElement(paracon);
table.addCell(cellcon);
}
}
//将表格的第一行设置为表头 让它在每一页都显示出来
table.setHeaderRows(1);
//将表格添加到文档中
document.add(table);
//关闭文档
document.close();
System.out.println("ok");
}
//指定一个文件进行保存 这里吧文件保存到D盘的text.pdf
public void saveLocal() throws IOException, DocumentException{
//直接生成PDF 制定生成到D盘test.pdf
File file = new File("D:\\"+filenameuuid+".pdf");
file.createNewFile();
PdfWriter.getInstance(document, new FileOutputStream(file));
}
//返回路径
public String returnFileName(){
return filenameuuid;
}
public static void main(String[] args) {
HelloPdf exportPdf = new HelloPdf();
try {
exportPdf.getPdfIo();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}