Commit ab7472df authored by 徐俊's avatar 徐俊

xujun

parent 9cffca98
......@@ -228,24 +228,26 @@ public class ProjectInfoToPDF {
* 项目基本信息
*/
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);
Font labelFont = new Font(bfChinese, 12, Font.NORMAL);
Font valueFont = new Font(fsChinese, 12, Font.NORMAL);
Font titleFont = new Font(bfChinese, 12, Font.BOLD);
// 申请人信息表格
PdfPTable personTable = new PdfPTable(8); // 8列
personTable.setWidthPercentage(95);
personTable.setSpacingBefore(10f);
// 设置列宽度比例
float[] personWidths = {1.5f, 2f, 1f, 2f, 1.5f, 2f, 2f, 2f};
// 创建一个大表格
PdfPTable mainTable = new PdfPTable(1); // 单列表格
mainTable.setWidthPercentage(95);
mainTable.setSpacingBefore(10f);
// 申请人信息部分
PdfPTable personTable = new PdfPTable(9); // 9列,第一列用于标题
float[] personWidths = {1f, 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);
PdfPCell titleCell = new PdfPCell(new Phrase("申\n请\n人\n信\n息", titleFont));
titleCell.setRowspan(6); // 合并6行
titleCell.setHorizontalAlignment(Element.ALIGN_CENTER);
titleCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
titleCell.setMinimumHeight(25f);
titleCell.setMinimumHeight(150f); // 调整高度以适应内容
personTable.addCell(titleCell);
// 第一行
......@@ -271,24 +273,24 @@ public class ProjectInfoToPDF {
// 第六行
addBasicTableCell(personTable, "主要研究领域", project.getMainResearchAreas(), 8, labelFont, valueFont);
// 将申请人信息表格添加到主表格
PdfPCell personCell = new PdfPCell(personTable);
personCell.setPadding(0);
personCell.setBorder(Rectangle.BOX);
mainTable.addCell(personCell);
document.add(personTable);
// 申请单位信息表格
PdfPTable unitTable = new PdfPTable(4); // 4列
unitTable.setWidthPercentage(95);
unitTable.setSpacingBefore(10f);
// 设置列宽度比例
float[] unitWidths = {2f, 3f, 2f, 3f};
// 申请单位信息部分
PdfPTable unitTable = new PdfPTable(5); // 5列,第一列用于标题
float[] unitWidths = {1.2f, 3f, 5f, 3f, 5f}; // 调整所有列的比例,保持第一列宽度一致
unitTable.setWidths(unitWidths);
// 申请单位信息标题行
titleCell = new PdfPCell(new Phrase("申请单位信息", labelFont));
titleCell.setColspan(4);
titleCell.setHorizontalAlignment(Element.ALIGN_LEFT);
titleCell = new PdfPCell(new Phrase("申\n请\n单\n位\n信\n息", titleFont));
titleCell.setRowspan(5); // 合并5行
titleCell.setHorizontalAlignment(Element.ALIGN_CENTER);
titleCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
titleCell.setMinimumHeight(25f);
titleCell.setMinimumHeight(100f);
unitTable.addCell(titleCell);
// 单位信息内容
......@@ -297,24 +299,24 @@ public class ProjectInfoToPDF {
addBasicTableCell(unitTable, "电话", project.getUnitLinkMobile(), 2, labelFont, valueFont);
addBasicTableCell(unitTable, "电子信箱", project.getUnitLinkEmail(), 2, labelFont, valueFont);
addBasicTableCell(unitTable, "传真", project.getUnitLinkFax(), 2, labelFont, valueFont);
// 将申请单位信息表格添加到主表格
PdfPCell unitCell = new PdfPCell(unitTable);
unitCell.setPadding(0);
unitCell.setBorder(Rectangle.BOX);
mainTable.addCell(unitCell);
document.add(unitTable);
// 项目基本情况表格
PdfPTable projTable = new PdfPTable(4); // 4列
projTable.setWidthPercentage(95);
projTable.setSpacingBefore(10f);
// 设置列宽度比例
float[] projWidths = {2f, 3f, 2f, 3f};
// 项目基本情况部分
PdfPTable projTable = new PdfPTable(5); // 5列,第一列用于标题
float[] projWidths = {1.2f, 3f, 5f, 3f, 5f}; // 与申请单位信息表格使用相同的比例
projTable.setWidths(projWidths);
// 项目基本情况标题行
titleCell = new PdfPCell(new Phrase("项目基本情况", labelFont));
titleCell.setColspan(4);
titleCell.setHorizontalAlignment(Element.ALIGN_LEFT);
titleCell = new PdfPCell(new Phrase("项\n目\n基\n本\n信\n息", titleFont));
titleCell.setRowspan(8); // 合并8行
titleCell.setHorizontalAlignment(Element.ALIGN_CENTER);
titleCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
titleCell.setMinimumHeight(25f);
titleCell.setMinimumHeight(200f);
projTable.addCell(titleCell);
// 项目基本情况内容
......@@ -326,8 +328,15 @@ public class ProjectInfoToPDF {
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);
addBasicTableCell(projTable, "关键词", project.getProjKeywords(), 4, labelFont, valueFont);
// 将项目基本情况表格添加到主表格
PdfPCell projCell = new PdfPCell(projTable);
projCell.setPadding(0);
projCell.setBorder(Rectangle.BOX);
mainTable.addCell(projCell);
document.add(mainTable);
}
/**
......
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