【问题标题】:Kendo UI chart series lables rendered incorrectly in PDF generationKendo UI 图表系列标签在 PDF 生成中呈现不正确
【发布时间】:2017-08-30 21:21:48
【问题描述】:

我正在使用 Kendo UI dataviz ASP.NET MVC 框架来呈现图表,就像给定的示例 here (using the ASP.NET MVC version)

图形和系列标签在浏览器中呈现良好:

为了生成 PDF,我使用Rotativa 框架 - 使用 wkhtmltopdf 工具将 html 内容转换为 PDF。

图表在 PDF 中完美呈现,但顶部的系列标签呈现不正确:

如您所见,标签有足够的空间展开 - 但它们是“随机”呈现在彼此之上的。

我在同一个导出的 PDF 中有多个图表,所有图表的所有标签都放置不正确。

这是我的 rotativa 动作结果设置:

return new ViewAsPdf("Reports/_ReportBaseIndex", FilterData)
    {
        PageOrientation = ExportOrientation,
        CustomSwitches = "--disable-smart-shrinking --print-media-type --zoom 0.75 --javascript-delay 1000"
    };

有没有办法修复标签?是否可以静态放置标签,还是必须重新计算标签位置?如果是这样,我该怎么做?

【问题讨论】:

  • 您找到解决方案了吗?我什至无法让我的图表正确生成 Rotativa .. 他们看起来被压扁了,只画了一半的图表.. 你是怎么把它全部画出来的?
  • @user2206329 尚未解决 :( 仍在努力。
  • JAM - 我设法解决了压扁和半画图的问题...
  • @user2206329 是的,我相信这是由于任何动画设置来呈现图形。这可以通过禁用动画或设置--javascript-delay来解决。

标签: asp.net-mvc kendo-ui wkhtmltopdf kendo-dataviz rotativa


【解决方案1】:

我也遇到了这个问题。看起来它与 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>

【讨论】:

  • 我明白了,但那是额外的工作。它应该是开箱即用的,它适用于 Evo Pdf :)
【解决方案2】:

我们的解决方案是将 PDF 生成器替换为 Evo Pdf

这为我们解决了所有的渲染问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多