MigraDoc表格含Chart的单元格无边框问题求助
解决表格中含图表的单元格无边框问题
原因分析
当直接向单元格添加Chart元素时,部分PDF库(如iText系列)的单元格边框渲染逻辑可能不会自动触发,而添加Paragraph时会默认触发边框渲染,导致两者表现不一致。
解决方法
方法1:显式设置单元格边框
直接为包含图表的单元格指定边框样式,强制渲染边框:
修改你的单元格代码:
var secondRowCell2 = innerTable[0, 1]; secondRowCell2.Format.RightIndent = 5; // 直接设置所有边框为实线 secondRowCell2.Border = BorderSolid; secondRowCell2.Elements.Add(GetChart());
如果希望整个表格的单元格都有统一边框,也可以直接给表格设置默认边框:
innerTable.SetBorder(BorderSolid); innerTable.SetBorderWidth(1);
方法2:将图表包装到Paragraph中添加
把Chart元素放入Paragraph后再添加到单元格,借助Paragraph的渲染逻辑触发边框显示:
修改单元格添加图表的代码:
var secondRowCell2 = innerTable[0, 1]; secondRowCell2.Format.RightIndent = 5; // 创建Paragraph并添加Chart Paragraph chartPara = new Paragraph(); chartPara.Add(GetChart()); secondRowCell2.Add(chartPara);
验证说明
两种方法都能让含图表的单元格正常显示边框,你可以根据自己的代码结构选择更合适的方式。如果是全局表格样式需求,优先用表格默认边框设置;如果是单个单元格的特殊样式,单独设置单元格边框更灵活。
内容的提问来源于stack exchange,提问作者Patrik Urban
相关产品推荐
相关产品推荐

