|
|
|
@ -58,8 +58,9 @@ import java.util.zip.ZipOutputStream; |
|
|
|
* 样式要点(与模板逐项对齐): |
|
|
|
* <ul> |
|
|
|
* <li>页面:A4(11906×16838 twips),版心 上2098/右1474/下1984/左1587</li> |
|
|
|
* <li>封面:42pt 仿宋_GB2312 大标题 + 分页;第二页 logo + 方正小标宋 22pt 深蓝标题(不加粗) |
|
|
|
* + 仿宋_GB2312 16pt 浅蓝副标题 + 封面签署表(初审/校对/审核/巡检日期)</li> |
|
|
|
* <li><b>封面(只一页,无大标题页):logo + 方正小标宋 22pt 深蓝标题(不加粗) |
|
|
|
* + 仿宋_GB2312 16pt 浅蓝副标题 + 封面签署表(初审/校对/审核/巡检日期)</b>; |
|
|
|
* 原先的首个封面大标题页(42pt 仿宋_GB2312「#动环智能巡检」+ 分页符)已去掉</li> |
|
|
|
* <li>标题:报告标题 方正小标宋简体 22pt(二号)不加粗;一级标题:黑体 16pt(三号); |
|
|
|
* 二级标题:仿宋_GB2312 16pt(三号)</li> |
|
|
|
* <li><b>段落样式:正文/表格用「正文」(Normal),章节标题用「标题 2 / 标题 3 …」 |
|
|
|
@ -622,8 +623,8 @@ public class DonghuanReportExportController extends BaseController { |
|
|
|
setupPage(doc); |
|
|
|
// 章节标题多级自动编号(与机器人模板一致:一、/(一)/1./(1)) |
|
|
|
BigInteger headingNumId = createHeadingNumbering(doc); |
|
|
|
buildCoverPage1(doc); // 第1页:42pt 大标题 + 分页 |
|
|
|
buildCoverPage2(doc, report); // 第2页:logo + 报告标题 + 副标题 + 签署表 |
|
|
|
// 封面大标题页(原第1页 42pt「#动环智能巡检」)已去掉,报告直接从封面页(logo + 标题 + 签署表)开始 |
|
|
|
buildCoverPage2(doc, report); // 封面页:logo + 报告标题 + 副标题 + 签署表 |
|
|
|
buildSectionBasic(doc, report, headingNumId); // 一、巡检基本情况 |
|
|
|
buildSectionStatus(doc, headingNumId); // 二、巡检状态说明 |
|
|
|
buildSectionOverview(doc, report, tempFileMap, headingNumId); // 三、巡检结果概览 |
|
|
|
@ -775,14 +776,12 @@ public class DonghuanReportExportController extends BaseController { |
|
|
|
grid.setCharSpace(BigInteger.ZERO); |
|
|
|
} |
|
|
|
|
|
|
|
/** 第1页封面:42pt 仿宋_GB2312 大标题 + 分页符 */ |
|
|
|
private void buildCoverPage1(XWPFDocument doc) { |
|
|
|
XWPFParagraph p = addPara(doc, "#动环智能巡检", FONT_BODY, 84, false, false, null, |
|
|
|
ParagraphAlignment.CENTER, 120, 120); |
|
|
|
p.createRun().addBreak(BreakType.PAGE); |
|
|
|
} |
|
|
|
|
|
|
|
/** 第2页:logo + 报告标题 + 副标题 + 空行 + 封面签署表 */ |
|
|
|
/** |
|
|
|
* 封面页:logo + 报告标题 + 副标题 + 空行 + 封面签署表。 |
|
|
|
* <p> |
|
|
|
* 原先的首个封面大标题页(42pt「#动环智能巡检」+ 分页符)已去掉,本页即报告首页, |
|
|
|
* 页内排版与分页标定不变(见下方空行行数说明)。 |
|
|
|
*/ |
|
|
|
private void buildCoverPage2(XWPFDocument doc, InspectionReport report) { |
|
|
|
// logo:优先 classpath 资源(src/main/resources/report/logo.png), |
|
|
|
// 兼容本地绝对/相对路径 |
|
|
|
@ -814,9 +813,10 @@ public class DonghuanReportExportController extends BaseController { |
|
|
|
COLOR_LIGHT, ParagraphAlignment.CENTER, 200, 100); |
|
|
|
|
|
|
|
// 空行(撑出版面,与模板一致) |
|
|
|
// 行数按「签署表 4 行 × 680 twips(= 模板实测行高)刚好落在第 2 页、且第 2 页放不下 |
|
|
|
// 行数按「签署表 4 行 × 680 twips(= 模板实测行高)刚好落在封面这一页、且这一页放不下 |
|
|
|
// 「一、巡检基本情况」」标定:签署表行高对齐模板后变高,故由 11 行减为 9 行(实测可用 |
|
|
|
// WPS 量出:末行仍在第 2 页、正文标题仍在第 3 页)。改这些参数前后务必量一下分页。 |
|
|
|
// WPS 量出:末行仍在封面页、正文标题在下一页)。大标题页去掉后封面页成为第 1 页, |
|
|
|
// 页内排版未变,标定值无需调整;改这些参数前后务必量一下分页。 |
|
|
|
for (int i = 0; i < 9; i++) { |
|
|
|
addPara(doc, "", null, SZ_BODY, false, false, null, |
|
|
|
ParagraphAlignment.CENTER, 200, 100); |
|
|
|
|