我正在使用Kendo UI dataviz ASP.NET MVC框架来呈现图表,例如here (using the ASP.NET MVC version)给出的示例。
图表和系列标签在浏览器中渲染得很好:
为了生成PDF,我使用Rotativa框架 - 使用wkhtmltopdf工具将html内容转换为PDF。
图表在PDF中完美呈现,但顶部的系列标签呈现错误:
正如你所看到的那样,标签有足够的空间可以跨越 - 但它们是“随机”呈现在彼此之上。
我在同一个导出的PDF中有多个图表,并且所有图表的所有标签都放置不正确。
以下是我的旋转动作结果设置:
return new ViewAsPdf("Reports/_ReportBaseIndex", FilterData)
{
PageOrientation = ExportOrientation,
CustomSwitches = "--disable-smart-shrinking --print-media-type --zoom 0.75 --javascript-delay 1000"
};
有没有办法修理标签?是否可以静态放置标签,或者我是否必须重新计算标签位置?如果是这样,我该怎么做?
答案 0 :(得分:0)
我们的解决方案是将PDF生成器替换为Evo Pdf。
这解决了我们的所有渲染问题。
答案 1 :(得分:0)
我也有这个问题。看起来它与wkhtmltopdf而不是rotativa有关。无论如何,Rotativa实际上在引擎盖下使用它。
我尝试使用Rotativa和wkhtmltopdf生成PDF并使用这两种方法来解决问题。
我选择的解决方案是在视图中手动生成图例,循环浏览不同的类别和颜色,如此
<table class="legend-table">
@foreach (var category in Model.Data)
{
<tr>
<td style="background-color: @category.Colour"></td>
<td>@category.Category</td>
<td>@category.Value %</td>
</tr>
}
</table>