Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
yn-health-science
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐俊
yn-health-science
Commits
ab7472df
Commit
ab7472df
authored
Feb 12, 2025
by
徐俊
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
xujun
parent
9cffca98
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
41 deletions
+50
-41
ProjectInfoToPDF.java
...main/java/com/yiboshi/science/utils/ProjectInfoToPDF.java
+50
-41
No files found.
science-admin/src/main/java/com/yiboshi/science/utils/ProjectInfoToPDF.java
View file @
ab7472df
...
@@ -228,24 +228,26 @@ public class ProjectInfoToPDF {
...
@@ -228,24 +228,26 @@ public class ProjectInfoToPDF {
* 项目基本信息
* 项目基本信息
*/
*/
private
static
void
addProjectBasicTable
(
Document
document
,
ComProjectDTO
project
,
BaseFont
bfChinese
,
BaseFont
fsChinese
)
throws
DocumentException
{
private
static
void
addProjectBasicTable
(
Document
document
,
ComProjectDTO
project
,
BaseFont
bfChinese
,
BaseFont
fsChinese
)
throws
DocumentException
{
Font
labelFont
=
new
Font
(
fsChinese
,
12
,
Font
.
NORMAL
);
Font
labelFont
=
new
Font
(
bfChinese
,
12
,
Font
.
NORMAL
);
Font
valueFont
=
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列
PdfPTable
mainTable
=
new
PdfPTable
(
1
);
// 单列表格
personTable
.
setWidthPercentage
(
95
);
mainTable
.
setWidthPercentage
(
95
);
personTable
.
setSpacingBefore
(
10
f
);
mainTable
.
setSpacingBefore
(
10
f
);
// 设置列宽度比例
// 申请人信息部分
float
[]
personWidths
=
{
1.5f
,
2
f
,
1
f
,
2
f
,
1.5f
,
2
f
,
2
f
,
2
f
};
PdfPTable
personTable
=
new
PdfPTable
(
9
);
// 9列,第一列用于标题
float
[]
personWidths
=
{
1
f
,
1.5f
,
2
f
,
1
f
,
2
f
,
1.5f
,
2
f
,
2
f
,
2
f
};
// 调整第一列宽度
personTable
.
setWidths
(
personWidths
);
personTable
.
setWidths
(
personWidths
);
// 申请人信息标题行
// 申请人信息标题行
PdfPCell
titleCell
=
new
PdfPCell
(
new
Phrase
(
"申
请人信息"
,
label
Font
));
PdfPCell
titleCell
=
new
PdfPCell
(
new
Phrase
(
"申
\n请\n人\n信\n息"
,
title
Font
));
titleCell
.
set
Colspan
(
8
);
titleCell
.
set
Rowspan
(
6
);
// 合并6行
titleCell
.
setHorizontalAlignment
(
Element
.
ALIGN_
LEFT
);
titleCell
.
setHorizontalAlignment
(
Element
.
ALIGN_
CENTER
);
titleCell
.
setVerticalAlignment
(
Element
.
ALIGN_MIDDLE
);
titleCell
.
setVerticalAlignment
(
Element
.
ALIGN_MIDDLE
);
titleCell
.
setMinimumHeight
(
25
f
);
titleCell
.
setMinimumHeight
(
150
f
);
// 调整高度以适应内容
personTable
.
addCell
(
titleCell
);
personTable
.
addCell
(
titleCell
);
// 第一行
// 第一行
...
@@ -271,24 +273,24 @@ public class ProjectInfoToPDF {
...
@@ -271,24 +273,24 @@ public class ProjectInfoToPDF {
// 第六行
// 第六行
addBasicTableCell
(
personTable
,
"主要研究领域"
,
project
.
getMainResearchAreas
(),
8
,
labelFont
,
valueFont
);
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
(
5
);
// 5列,第一列用于标题
// 申请单位信息表格
float
[]
unitWidths
=
{
1.2f
,
3
f
,
5
f
,
3
f
,
5
f
};
// 调整所有列的比例,保持第一列宽度一致
PdfPTable
unitTable
=
new
PdfPTable
(
4
);
// 4列
unitTable
.
setWidthPercentage
(
95
);
unitTable
.
setSpacingBefore
(
10
f
);
// 设置列宽度比例
float
[]
unitWidths
=
{
2
f
,
3
f
,
2
f
,
3
f
};
unitTable
.
setWidths
(
unitWidths
);
unitTable
.
setWidths
(
unitWidths
);
// 申请单位信息标题行
// 申请单位信息标题行
titleCell
=
new
PdfPCell
(
new
Phrase
(
"申
请单位信息"
,
label
Font
));
titleCell
=
new
PdfPCell
(
new
Phrase
(
"申
\n请\n单\n位\n信\n息"
,
title
Font
));
titleCell
.
set
Colspan
(
4
);
titleCell
.
set
Rowspan
(
5
);
// 合并5行
titleCell
.
setHorizontalAlignment
(
Element
.
ALIGN_
LEFT
);
titleCell
.
setHorizontalAlignment
(
Element
.
ALIGN_
CENTER
);
titleCell
.
setVerticalAlignment
(
Element
.
ALIGN_MIDDLE
);
titleCell
.
setVerticalAlignment
(
Element
.
ALIGN_MIDDLE
);
titleCell
.
setMinimumHeight
(
25
f
);
titleCell
.
setMinimumHeight
(
100
f
);
unitTable
.
addCell
(
titleCell
);
unitTable
.
addCell
(
titleCell
);
// 单位信息内容
// 单位信息内容
...
@@ -297,24 +299,24 @@ public class ProjectInfoToPDF {
...
@@ -297,24 +299,24 @@ public class ProjectInfoToPDF {
addBasicTableCell
(
unitTable
,
"电话"
,
project
.
getUnitLinkMobile
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
unitTable
,
"电话"
,
project
.
getUnitLinkMobile
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
unitTable
,
"电子信箱"
,
project
.
getUnitLinkEmail
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
unitTable
,
"电子信箱"
,
project
.
getUnitLinkEmail
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
unitTable
,
"传真"
,
project
.
getUnitLinkFax
(),
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
(
5
);
// 5列,第一列用于标题
// 项目基本情况表格
float
[]
projWidths
=
{
1.2f
,
3
f
,
5
f
,
3
f
,
5
f
};
// 与申请单位信息表格使用相同的比例
PdfPTable
projTable
=
new
PdfPTable
(
4
);
// 4列
projTable
.
setWidthPercentage
(
95
);
projTable
.
setSpacingBefore
(
10
f
);
// 设置列宽度比例
float
[]
projWidths
=
{
2
f
,
3
f
,
2
f
,
3
f
};
projTable
.
setWidths
(
projWidths
);
projTable
.
setWidths
(
projWidths
);
// 项目基本情况标题行
// 项目基本情况标题行
titleCell
=
new
PdfPCell
(
new
Phrase
(
"项
目基本情况"
,
label
Font
));
titleCell
=
new
PdfPCell
(
new
Phrase
(
"项
\n目\n基\n本\n信\n息"
,
title
Font
));
titleCell
.
set
Colspan
(
4
);
titleCell
.
set
Rowspan
(
8
);
// 合并8行
titleCell
.
setHorizontalAlignment
(
Element
.
ALIGN_
LEFT
);
titleCell
.
setHorizontalAlignment
(
Element
.
ALIGN_
CENTER
);
titleCell
.
setVerticalAlignment
(
Element
.
ALIGN_MIDDLE
);
titleCell
.
setVerticalAlignment
(
Element
.
ALIGN_MIDDLE
);
titleCell
.
setMinimumHeight
(
2
5
f
);
titleCell
.
setMinimumHeight
(
2
00
f
);
projTable
.
addCell
(
titleCell
);
projTable
.
addCell
(
titleCell
);
// 项目基本情况内容
// 项目基本情况内容
...
@@ -326,8 +328,15 @@ public class ProjectInfoToPDF {
...
@@ -326,8 +328,15 @@ public class ProjectInfoToPDF {
addBasicTableCell
(
projTable
,
"项目总经费(万元)"
,
project
.
getTotalFunding
().
toString
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
projTable
,
"项目总经费(万元)"
,
project
.
getTotalFunding
().
toString
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
projTable
,
"申请经费"
,
project
.
getGovFunding
().
toString
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
projTable
,
"申请经费"
,
project
.
getGovFunding
().
toString
(),
2
,
labelFont
,
valueFont
);
addBasicTableCell
(
projTable
,
"项目摘要"
,
project
.
getProjAbstract
(),
4
,
labelFont
,
valueFont
);
addBasicTableCell
(
projTable
,
"项目摘要"
,
project
.
getProjAbstract
(),
4
,
labelFont
,
valueFont
);
addBasicTableCell
(
projTable
,
"关键词"
,
project
.
getProjKeywords
(),
4
,
labelFont
,
valueFont
);
document
.
add
(
projTable
);
// 将项目基本情况表格添加到主表格
PdfPCell
projCell
=
new
PdfPCell
(
projTable
);
projCell
.
setPadding
(
0
);
projCell
.
setBorder
(
Rectangle
.
BOX
);
mainTable
.
addCell
(
projCell
);
document
.
add
(
mainTable
);
}
}
/**
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment