Commit 9cffca98 authored by 徐俊's avatar 徐俊

xujun

parent 8e3019eb
...@@ -37,7 +37,7 @@ public class ProjectInfoToPDF { ...@@ -37,7 +37,7 @@ public class ProjectInfoToPDF {
// 添加项目内容章节 // 添加项目内容章节
addSection(document, "一、项目基本情况", boldFont); addSection(document, "一、项目基本情况", boldFont);
addContent(document, project.getResearchContent(), normalFont); addProjectBasicTable(document, project, bfChinese, fsChinese); // 添加项目基本信息表格
// 添加新页面 // 添加新页面
document.newPage(); document.newPage();
...@@ -227,8 +227,125 @@ public class ProjectInfoToPDF { ...@@ -227,8 +227,125 @@ public class ProjectInfoToPDF {
/** /**
* 项目基本信息 * 项目基本信息
*/ */
private static void addProjectBasicTable() { private static void addProjectBasicTable(Document document, ComProjectDTO project, BaseFont bfChinese, BaseFont fsChinese) throws DocumentException {
Font labelFont = new Font(fsChinese, 12, Font.NORMAL);
Font valueFont = new Font(bfChinese, 12, Font.NORMAL);
// 申请人信息表格
PdfPTable personTable = new PdfPTable(8); // 8列
personTable.setWidthPercentage(95);
personTable.setSpacingBefore(10f);
// 设置列宽度比例
float[] personWidths = {1.5f, 2f, 1f, 2f, 1.5f, 2f, 2f, 2f};
personTable.setWidths(personWidths);
// 申请人信息标题行
PdfPCell titleCell = new PdfPCell(new Phrase("申请人信息", labelFont));
titleCell.setColspan(8);
titleCell.setHorizontalAlignment(Element.ALIGN_LEFT);
titleCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
titleCell.setMinimumHeight(25f);
personTable.addCell(titleCell);
// 第一行
addBasicTableCell(personTable, "姓 名", project.getAppPersonName(), 2, labelFont, valueFont);
addBasicTableCell(personTable, "性别", project.getSex(), 2, labelFont, valueFont);
addBasicTableCell(personTable, "出生年月", formatDateRange(project.getBirthday(), 1), 2, labelFont, valueFont);
addBasicTableCell(personTable, "民族", project.getNationName(), 2, labelFont, valueFont);
// 第二行
addBasicTableCell(personTable, "学 位", project.getDegreeName(), 2, labelFont, valueFont);
addBasicTableCell(personTable, "职称", project.getTitleName(), 2, labelFont, valueFont);
addBasicTableCell(personTable, "每年工作时间(月)", project.getJobTime().toString(), 4, labelFont, valueFont);
// 第三行
addBasicTableCell(personTable, "电 话", project.getMobile(), 4, labelFont, valueFont);
addBasicTableCell(personTable, "电子邮箱", project.getEmail(), 4, labelFont, valueFont);
// 第四行
addBasicTableCell(personTable, "个人通讯地址", project.getAddress(), 8, labelFont, valueFont);
// 第五行
addBasicTableCell(personTable, "工作单位", project.getAppUnitName(), 8, labelFont, valueFont);
// 第六行
addBasicTableCell(personTable, "主要研究领域", project.getMainResearchAreas(), 8, labelFont, valueFont);
document.add(personTable);
// 申请单位信息表格
PdfPTable unitTable = new PdfPTable(4); // 4列
unitTable.setWidthPercentage(95);
unitTable.setSpacingBefore(10f);
// 设置列宽度比例
float[] unitWidths = {2f, 3f, 2f, 3f};
unitTable.setWidths(unitWidths);
// 申请单位信息标题行
titleCell = new PdfPCell(new Phrase("申请单位信息", labelFont));
titleCell.setColspan(4);
titleCell.setHorizontalAlignment(Element.ALIGN_LEFT);
titleCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
titleCell.setMinimumHeight(25f);
unitTable.addCell(titleCell);
// 单位信息内容
addBasicTableCell(unitTable, "单位名称", project.getAppUnitName(), 4, labelFont, valueFont);
addBasicTableCell(unitTable, "联系人", project.getUnitLinkName(), 2, labelFont, valueFont);
addBasicTableCell(unitTable, "电话", project.getUnitLinkMobile(), 2, labelFont, valueFont);
addBasicTableCell(unitTable, "电子信箱", project.getUnitLinkEmail(), 2, labelFont, valueFont);
addBasicTableCell(unitTable, "传真", project.getUnitLinkFax(), 2, labelFont, valueFont);
document.add(unitTable);
// 项目基本情况表格
PdfPTable projTable = new PdfPTable(4); // 4列
projTable.setWidthPercentage(95);
projTable.setSpacingBefore(10f);
// 设置列宽度比例
float[] projWidths = {2f, 3f, 2f, 3f};
projTable.setWidths(projWidths);
// 项目基本情况标题行
titleCell = new PdfPCell(new Phrase("项目基本情况", labelFont));
titleCell.setColspan(4);
titleCell.setHorizontalAlignment(Element.ALIGN_LEFT);
titleCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
titleCell.setMinimumHeight(25f);
projTable.addCell(titleCell);
// 项目基本情况内容
addBasicTableCell(projTable, "项目名称", project.getProjName(), 4, labelFont, valueFont);
addBasicTableCell(projTable, "学科代码", project.getKnowledgeName(), 2, labelFont, valueFont);
addBasicTableCell(projTable, "选题范围", project.getSubjectScope(), 2, labelFont, valueFont);
addBasicTableCell(projTable, "项目类别", project.getProjClassName(), 2, labelFont, valueFont);
addBasicTableCell(projTable, "研究期限", formatDateRange(project.getStartDate(), 1), 2, labelFont, valueFont);
addBasicTableCell(projTable, "项目总经费(万元)", project.getTotalFunding().toString(), 2, labelFont, valueFont);
addBasicTableCell(projTable, "申请经费", project.getGovFunding().toString(), 2, labelFont, valueFont);
addBasicTableCell(projTable, "项目摘要", project.getProjAbstract(), 4, labelFont, valueFont);
document.add(projTable);
}
/**
* 添加基本信息表格单元格
*/
private static void addBasicTableCell(PdfPTable table, String label, String value, int colspan, Font labelFont, Font valueFont) {
PdfPCell labelCell = new PdfPCell(new Phrase(label, labelFont));
labelCell.setMinimumHeight(25f);
labelCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
labelCell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(labelCell);
PdfPCell valueCell = new PdfPCell(new Phrase(value != null ? value : "", valueFont));
valueCell.setMinimumHeight(25f);
valueCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
valueCell.setHorizontalAlignment(Element.ALIGN_LEFT);
valueCell.setColspan(colspan - 1);
table.addCell(valueCell);
} }
private static void addSection(Document document, String title, Font font) throws DocumentException { private static void addSection(Document document, String title, Font font) throws DocumentException {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment