ARTICLE · 1318152
Java 生成信用评级 PDF:六个财务指标两两相关性,一张图搞定
jquick-pdf 相关矩阵实战:六个财务指标两两相关,一张 PDF 图怎么全说清
摘要(meta description):评级评审总在追问指标之间的关系——净利润涨是不是研发投入在推、营收上去资产负债率怎么走。散点图一次只能看两个指标,相关矩阵一张图回答全部 15 组两两关系。本文以 jquick-pdf 相关矩阵为例,从五个实际问题入手:数据怎么喂、维度顺序为什么不能乱、正负相关怎么分色、flex 并排为什么不开不生效、矩阵图在整页报告里承担哪一段。每个问题都带可直接验证的答案,附完整 Java 源码与模板(jquick-pdfx 4.7.0+,Apache-2.0)。
标签:jquick-pdf、Java PDF、报表开发、相关矩阵
先把问题摆上桌:指标关系说不清,报告就会被退回
评级报告写到财务分析那一段,最怕评审问一句"你这几个指标的联动关系是什么"。营业收入 25,680 万、净利润 5,420 万,各是各的数字,但评审想知道的是:净利润三年翻了四倍多,是营收规模带起来的,还是研发投入砸出来的?资产负债率 38% 看着健康,跟营收高速增长有没有关系?
散点图回答不了这个问题——它一次只能画两个指标,六维数据要画 15 张散点图,版面根本放不下。相关矩阵是唯一能在一页里说清的办法:6×6 的格子,行是指标、列是指标,交叉格填相关系数,正负和强弱一眼扫完。jquick-pdf 把相关矩阵渲染成 SVG 灌进 ${svg} 占位符,本篇素材是基于Demo JQuickCreditReport11MatrixTest
整页靛蓝主题:深靛抬头单卡承载报告编号、日期、机构三行元信息,指标表、财务表、经营指标表三张静态表压住版面,图表区左侧放 400×400 的相关矩阵、右侧挂 300px 的评分说明面板,页脚一条靛蓝分隔线收尾。(效果预览图 alt:jquick-pdf 相关矩阵信用评级报告 PDF,靛蓝主题,六指标相关性矩阵与评级说明面板左右并排)
下面按实际集成时最常被卡住的五个问题,逐个拆。
官网示例:
示例页:https://www.jquick.org/jquick-pdf/demo/11_matrix/ github 地址:https://github.com/paohaijiao/jquick-pdf
真实渲染效果预览
以下为上述代码 + 模板真实运行生成的 PDF 首屏预览(由 jquick-pdf 渲染输出,非示意图):

问题一:6×6 的格子,数据到底怎么喂?
相关矩阵的数据结构比其他图表特殊——它不是"类目+数值列表",而是一个对称方阵。jquick-pdf为此专门给了一个 JCorrelationMatrixOption,构建方式是链式 builder:
JCorrelationMatrixOption matrixOption = JCorrelationMatrixOption.builder().title("财务指标相关矩阵", "各财务指标之间的相关性分析").dataset(correlationData).build();
correlationData 是一个 double[][],六个指标两两算出来的相关系数直接按行列摆进去:第一行是"营业收入"跟其余五个指标(含自己)的相关系数,对角线恒为 1.00,矩阵沿对角线对称——营收对净利 0.63,净利对营收也是 0.63,所以只填一半、另一半程序对称,或者像 Demo 里这样整份填满,效果一样。
两个值得注意的细节。一是 title() 收两个参数,主标题和副标题分开传,副标题"各财务指标之间的相关性分析"会渲染在主标题下方的小字位置,不用自己拼字符串。二是构建完 builder 拿到的 matrixOption 还能继续调 dataset() 拿到底层对象补配维度,这就引出第二个问题。
问题二:dimensions 的顺序,为什么一个都不能乱?
matrixOption.dataset().dimensions(new String[]{”营业收入”, ”净利润”, ”总资产”, ”资产负债率”, ”流动比率”, ”研发投入”});这行代码看起来只是给六个轴起了名字,实际上它决定了整个矩阵的行列语义:dimensions 数组的第 i 个名字,对应 correlationData 第 i 行、第 i 列。名字和数据错位一格,整张图的结论全部作废——"营收与资产负债率 -0.62 强负相关"会变成别的指标对,而矩阵图本身看不出任何异常,因为它只负责把数字染上颜色。
我的验证办法是拿对角线和一行已知关系核对:第 0 行第 0 列必须是 1.00(自己跟自己),第 0 行第 3 列是 -0.62,那第 3 个维度名字必须是"资产负债率"才能让这个负数落在正确的交叉点上。dimensions 传完打一次日志或断点看一眼 dataset() 里的数组,比渲染完 PDF 再逐格核对快得多。
另一个容易忽略的点:JOption 挂载这个配置用的是专门的 setter,不是通用的 series 接口:
JOption option = new JOption();option.setCorrelationMatrixOption(matrixOption);
渲染类型也要对上——JChartRendererFactory.renderChart(JChartType.CorrectionMatrix, option) 里的枚举名是CorrectionMatrix,不是按语义猜的 CorrelationMatrix。第一次集成时我按 Correlation 拼了一遍,编译直接不过;这个拼写跟代码里其他 Correlation 命名不一致,属于照着语义写代码必踩的坑,记住枚举以 Correction 开头就行。
问题三:正相关负相关,一张图怎么分颜色?
喂进 -0.62 到 1.00 之间的数值,渲染器会把整段区间映射到色带上:正相关走一端、负相关走另一端,0 附近接近中性色,深浅对应强弱。落到这份 demo 数据上,图上能直接读出三组结论:
营业收入与净利润 0.63、与研发投入 0.42——增长是规模和投入共同驱动的,营收与总资产只有 0.30,说明扩张不完全靠堆资产; 资产负债率一整行是负数:与营收 -0.62、与净利润 -0.41、与研发投入 -0.46——规模越扩杠杆越收,财务结构在变健康; 资产负债率与流动比率 0.72 是全图最强的非对角关系,这两项同向波动,评审看偿债能力时把它们当一个组合看。
这三组结论正好是模板里静态表格说不出来的部分。财务表里"资产负债率 38%"和"营收增长 44.2%"各是各的数字,矩阵把它们的关系画成了颜色——这就是动态图在这一页存在的理由。
需要注意边界值的表达:对角线上的 1.00 会拿到色带最饱和的端点色,六个 1.00 连成一条显眼的对角亮带,这是正常现象不是 bug,读图时把它当"行列分隔线"看反而方便定位。
问题四:矩阵和说明面板并排,flex 为什么不开不生效?
模板的图表区是一个典型的左右布局:
<divstyle="display:flex; justifyContent:space-between"><svgstyle="width:400px;height:400px">${svg}</svg><divstyle="width:300px; border:1px solid #3F51B5; padding:12px"><h3style="color:#1A237E; fontSize:12; bold:true; marginBottom:8px">'评级指标说明'</h3><!-- 四条评分:财务状况(90分) / 经营能力(95分) / 偿债能力(85分) / 发展潜力(92分) --></div></div>
SVG 占 400px、说明面板占 300px,加起来 700px 出头,space-between 把两端撑开。但这段布局有个前置条件,藏在 Java 侧:
JPdfConfig config = new JPdfConfig();// 开启 flex 行布局:图表与其右侧的指标说明面板在宽度允许时并排,而不是换行堆叠。config.getLayoutConfig().setFlexLayout(true);JQuickPdfFactory factory = new JQuickPdfFactory(config);
setFlexLayout(true) 不开,模板里的 display:flex 直接被忽略,400px 的矩阵和 300px 的面板各自独占一行从上往下堆——图还是那张图,但说明面板掉到图下面,页高多出一截,左右对照的阅读动线断了。我第一次跑就是忘了开,还以为模板写错了,回头查 Java 配置才发现布局开关在 config 里。这条经验值得记死:display:flex 能不能生效,看的是 PDF 配置,不是模板本身。
另外说明面板是纯静态 HTML 写死的四条评分,没有走数据绑定。矩阵图负责"关系",面板负责"结论分数",两块内容各管各的,改数据时只动 Java 侧的矩阵,面板文字手动同步即可。
问题五:整页报告里,矩阵图承担哪一段?
回看模板全貌,这一页的分工值得抄。深靛 #1A237E 抬头圆角 6px,h1 白字 21 号居中,两行 10 号小字放报告编号、日期、机构;信息表用四列结构两两配对——标签列垫 #e8eaf6 靛蓝浅底加粗、值列白底,150px 等宽四列;历年财务表换成 #303F9F 实底表头,五格行线 #c5cae9,增长率列全部 #2e7d32 绿色加粗,四年数据用 #f5f6fb 隔行做极淡斑马纹;关键经营指标表两列收六条定性描述。
到这里全是静态表格,评审看到的是"数字"。然后图表区一转:左边 6×6 矩阵给"关系",右边评分面板给"结论"。最后综合评价表一行大格收尾,页脚 lineSeparator 划线加两行 9 号灰蓝小字。
静态部分回答"是多少",动态矩阵回答"怎么联动",结论面板回答"评几分"——三段各司其职,矩阵图插在哪、配多大的位置,取决于你想让评审在哪一步看到关系。把 SVG 挪到财务表之前也可以,先看关系再看明细,顺序换一下阅读逻辑完全成立,模板结构不用改。
复现清单
依赖 io.github.paohaijiao:jquick-pdfx:4.7.0+(Apache-2.0 协议);准备对称相关系数矩阵 double[][],维度顺序与dimensions()一一对应;JCorrelationMatrixOption.builder()构建配置, title()两参传主副标题,dataset().dimensions()补维度名;JOption.setCorrelationMatrixOption()挂载, JChartRendererFactory.renderChart(JChartType.CorrectionMatrix, option)渲染 SVG——注意枚举拼写是 Correction;JPdfConfig里 getLayoutConfig().setFlexLayout(true),否则模板 flex 布局退化为堆叠;factory.bind("svg", svg)绑定占位符, executeResource("report/credit_report_11_matrix.txt")出 PDF,输出到D:\test\creditreport\11_matrix.pdf。
完整源码附录
/** Licensed under the Apache License, Version 2.0 (the ”License”);* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an ”AS IS” BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.** Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com)*/package com.github.paohaijiao.biz.report;import com.github.paohaijiao.JOption;import com.github.paohaijiao.config.JPdfConfig;import com.github.paohaijiao.demo.constant.JQuickConstant;import com.github.paohaijiao.enums.JChartType;import com.github.paohaijiao.executor.JQuickPdfFactory;import com.github.paohaijiao.factory.JChartRendererFactory;import com.github.paohaijiao.matrix.JCorrelationMatrixOption;import org.junit.Test;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;/*** 统一信用报告 —— 风格 11:相关矩阵(靛蓝)** 以 {@code report/credit_report_11_matrix.txt} 为模板,把相关矩阵渲染成 SVG 后* 绑定到模板中的 {@code ${svg}} 占位符,输出到 {@code D:\test\creditreport\11_matrix.pdf}。** @author Martin* @version 1.0.0*/public class JQuickCreditReport11MatrixTest {public static final String path = JQuickConstant.path;@Testpublic void report11Matrix() throws IOException {double[][] correlationData = new double[][]{{1.00, 0.63, 0.30, -0.62, -0.54, 0.42},{0.63, 1.00, 0.55, -0.41, -0.36, 0.38},{0.30, 0.55, 1.00, -0.28, -0.24, 0.31},{-0.62, -0.41, -0.28, 1.00, 0.72, -0.46},{-0.54, -0.36, -0.24, 0.72, 1.00, -0.39},{0.42, 0.38, 0.31, -0.46, -0.39, 1.00}};JCorrelationMatrixOption matrixOption = JCorrelationMatrixOption.builder().title(”财务指标相关矩阵”, ”各财务指标之间的相关性分析”).dataset(correlationData).build();matrixOption.dataset().dimensions(new String[]{”营业收入”, ”净利润”, ”总资产”, ”资产负债率”, ”流动比率”, ”研发投入”});JOption option = new JOption();option.setCorrelationMatrixOption(matrixOption);String svg = JChartRendererFactory.renderChart(JChartType.CorrectionMatrix, option);File dir = new File(path + ”creditreport”);if (!dir.exists()) {dir.mkdirs();}FileOutputStream fileOutputStream = new FileOutputStream(path + ”creditreport/11_matrix.pdf”);JPdfConfig config = new JPdfConfig();// 开启 flex 行布局:图表与其右侧的指标说明面板在宽度允许时并排,而不是换行堆叠。config.getLayoutConfig().setFlexLayout(true);JQuickPdfFactory factory = new JQuickPdfFactory(config);factory.bind(”svg”, svg);byte[] bytes = factory.executeResource(”report/credit_report_11_matrix.txt”);fileOutputStream.write(bytes);fileOutputStream.close();}}
<pdf><body><divstyle="backgroundColor:#1A237E; borderRadius:6px; padding:16px; marginBottom:12px"><h1style="textAlignment:center; color:white; fontSize:21; bold:true; marginBottom:8px">'企业信用评级报告'</h1><pstyle="textAlignment:center; color:white; fontSize:10; margin:2px">'报告编号: CR-2023-08975 | 评估日期: 2023年11月15日'</p><pstyle="textAlignment:center; color:white; fontSize:10; margin:2px">'评估机构: 四川省企业信用评估中心'</p></div><divstyle="marginBottom:14px"><h2style="color:#1A237E; fontSize:14; bold:true; marginBottom:8px">'四川省泡海椒科技有限公司'</h2><tablestyle="width:600px; fontSize:10"><tr><tdstyle="width:150px; padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'统一信用代码'</td><tdstyle="width:150px; padding:6px; border:1px solid #9fa8da">'91110108MA01XX1234'</td><tdstyle="width:150px; padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'成立日期'</td><tdstyle="width:150px; padding:6px; border:1px solid #9fa8da">'2018年5月20日'</td></tr><tr><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'注册资本'</td><tdstyle="padding:6px; border:1px solid #9fa8da">'1000万元人民币'</td><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'法定代表人'</td><tdstyle="padding:6px; border:1px solid #9fa8da">'泡海椒'</td></tr><tr><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'所属行业'</td><tdstyle="padding:6px; border:1px solid #9fa8da">'软件和信息技术服务业'</td><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'企业规模'</td><tdstyle="padding:6px; border:1px solid #9fa8da">'中型(150-200人)'</td></tr></table></div><divstyle="marginBottom:14px"><h2style="color:#1A237E; fontSize:13; bold:true; marginBottom:10px">'历年财务数据(单位:万元)'</h2><tablestyle="width:600px; fontSize:10"><tr><thstyle="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'财务指标'</th><thstyle="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2020年'</th><thstyle="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2021年'</th><thstyle="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2022年'</th><thstyle="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2023年'</th><thstyle="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'增长率'</th></tr><tr><tdstyle="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'营业收入'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'8,560'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'12,340'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'18,920'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'25,680'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+44.2%'</td></tr><tr><tdstyle="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'净利润'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'1,240'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'2,150'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'3,890'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'5,420'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+63.8%'</td></tr><tr><tdstyle="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'总资产'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'15,800'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'22,450'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'31,200'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'42,800'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+39.5%'</td></tr><tr><tdstyle="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'净资产'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'9,200'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'13,800'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'19,500'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'26,400'</td><tdstyle="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+42.1%'</td></tr><tr><tdstyle="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'毛利率'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'42.5%'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'45.8%'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'48.2%'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9">'51.6%'</td><tdstyle="padding:5px; textAlignment:right; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+9.1%'</td></tr></table></div><divstyle="marginBottom:14px"><h2style="color:#1A237E; fontSize:13; bold:true; marginBottom:10px">'关键经营指标'</h2><tablestyle="width:600px; fontSize:10"><tr><thstyle="width:150px; padding:6px; backgroundColor:#e8eaf6; color:#1A237E; textAlignment:center; border:1px solid #9fa8da">'指标维度'</th><thstyle="padding:6px; backgroundColor:#e8eaf6; color:#1A237E; textAlignment:center; border:1px solid #9fa8da">'说明'</th></tr><tr><tdstyle="width:150px; padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'营收增长率'</td><tdstyle="padding:6px; border:1px solid #c5cae9">'连续三年保持40%以上增长,2023年达到25,680万元'</td></tr><tr><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'利润率提升'</td><tdstyle="padding:6px; border:1px solid #c5cae9">'净利率从14.5%提升至21.1%,盈利能力显著增强'</td></tr><tr><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'研发投入'</td><tdstyle="padding:6px; border:1px solid #c5cae9">'研发费用年均增长38.9%,占营收比例达13.3%'</td></tr><tr><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'人才结构'</td><tdstyle="padding:6px; border:1px solid #c5cae9">'技术研发人员占比42%,硕士以上学历占35%'</td></tr><tr><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'客户质量'</td><tdstyle="padding:6px; border:1px solid #c5cae9">'服务15家上市公司,客户续约率92%,大客户满意度4.8/5.0'</td></tr><tr><tdstyle="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'资产质量'</td><tdstyle="padding:6px; border:1px solid #c5cae9">'资产负债率维持在38%左右,流动比率2.8,偿债能力良好'</td></tr></table></div><divstyle="marginBottom:14px"><h2style="color:#1A237E; fontSize:13; bold:true; marginBottom:10px">'财务指标相关矩阵'</h2><divstyle="display:flex; justifyContent:space-between"><svgstyle="width:400px;height:400px">${svg}</svg><divstyle="width:300px; border:1px solid #3F51B5; padding:12px"><h3style="color:#1A237E; fontSize:12; bold:true; marginBottom:8px">'评级指标说明'</h3><divstyle="fontSize:10; marginBottom:6px"><spanstyle="bold:true; color:#303F9F">'财务状况(90分): '</span>'营收稳定增长'</div><divstyle="fontSize:10; marginBottom:6px"><spanstyle="bold:true; color:#303F9F">'经营能力(95分): '</span>'客户留存率高'</div><divstyle="fontSize:10; marginBottom:6px"><spanstyle="bold:true; color:#303F9F">'偿债能力(85分): '</span>'负债率合理'</div><divstyle="fontSize:10; marginBottom:6px"><spanstyle="bold:true; color:#303F9F">'发展潜力(92分): '</span>'研发投入增加'</div></div></div></div><divstyle="marginBottom:14px"><tablestyle="width:600px; fontSize:10"><tr><thstyle="width:150px; padding:6px; backgroundColor:#303F9F; color:white; textAlignment:center; border:1px solid #c5cae9">'评价项'</th><thstyle="padding:6px; backgroundColor:#303F9F; color:white; textAlignment:center; border:1px solid #c5cae9">'评级结论'</th></tr><tr><tdstyle="width:150px; padding:8px; backgroundColor:#e8eaf6; bold:true; verticalAlignment:middle; border:1px solid #c5cae9">'综合评价'</td><tdstyle="padding:8px; fontSize:11; border:1px solid #c5cae9">'四川省泡海椒科技有限公司作为国家级高新技术企业和专精特新"小巨人"企业,在云计算和大数据领域表现出色。公司财务状况健康,经营能力突出,技术创新能力强,具备良好的发展潜力。信用评级为AAA级,展望稳定。'</td></tr></table></div><divstyle="textAlignment:center; marginTop:12px"><lineSeparatorstyle="strokeColor:#3F51B5"></lineSeparator><pstyle="fontSize:9; color:#5c6bc0; marginTop:8px">'本报告依据公开信息和专业评估模型生成,仅供参考 | 报告生成时间: 2025年09月06日'</p><pstyle="fontSize:9; color:#5c6bc0">'© 2023 企业信用评估中心 版权所有 | 认证编号: CE-2023-001'</p></div></body></pdf>















































































