背景
接上文SpringBoot集成markdown实现文档管理,对于表格的支持markdown不是特别友好,同时内部文档管理需要增加表格式api接口文档的功能,所以决定采用结合数据库存储与动态生成pdf借助目录结构展示的方式
表结构设计
目录表
1 | sql复制代码DROP TABLE IF EXISTS `knowledge_interfacecatalog`; |
接口内容表
1 | sql复制代码DROP TABLE IF EXISTS `knowledge_interfaceinfo`; |
录入界面
PDF生成
引用
1 | java复制代码 <dependency> |
创建PDF
1 | java复制代码 Document document = new Document(PageSize.A2); |
设置自定义字体
1 | java复制代码 File fontFile = new File("font/msyh.ttf"); |
添加章节与段落
1 | java复制代码 //目录的字体 |
添加表格
1 | java复制代码 PdfPTable table = new PdfPTable(3);//生成一个3列的表格 |
制表符替换
在pdf生成过程中\t制表符无效导致样式变动,需要进行编码替换replace(“\t”,”\u00a0\u00a0\u00a0\u00a0”)
PDF展示
这里选择的是pdf.js进行展示,引用相关文件,地址栏出入file代表url地址即可,因为用于接口文档展示,所以我需要默认进入就是目录模式,所以需要对页面进行相关js处理
1 | javascript复制代码<script type="text/javascript"> |
展示效果
本文转载自: 掘金