Ярлыки серий диаграмм пользовательского интерфейса Kendo отображались неправильно при создании PDF

Я использую платформу Kendo UI dataviz ASP.NET MVC для рендеринга диаграмм, как в приведенном примере здесь (используя версию ASP.NET MVC).

Графики и метки серий прекрасно отображаются в браузере:

Снимок браузера

Для создания PDF-файла я использую структуру Rotativa, используя инструмент wkhtmltopdf для преобразования содержимого html в PDF.

График отлично отображается в 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"
    };

Есть ли способ починить лейблы? Можно ли статически размещать метки или мне нужно пересчитывать позиции меток? Если да, то как мне это сделать?


person JAM    schedule 26.11.2013    source источник
comment
Вы когда-нибудь находили решение для этого? Я даже не могу заставить свои графики правильно генерироваться Rotativa.. они выглядят раздавленными и рисуют только половину графиков.. как вам удалось все это нарисовать?   -  person user2206329    schedule 13.12.2013
comment
@user2206329 user2206329 еще не решен :( все еще работаю над этим.   -  person JAM    schedule 16.12.2013
comment
JAM - мне удалось решить проблему с сжатыми и наполовину нарисованными графиками...   -  person user2206329    schedule 16.12.2013
comment
@user2206329 user2206329 Да, я думаю, это связано с любой анимацией, настроенной для отображения графика. Это решается либо отключением анимации, либо установкой --javascript-delay.   -  person JAM    schedule 16.12.2013


Ответы (2)


Мы решили заменить генератор PDF на Evo Pdf.

Это исправило все проблемы с рендерингом для нас.

person JAM    schedule 23.04.2014

У меня тоже эта проблема. Похоже, это связано с wkhtmltopdf, а не с ротативой. Rotativa в любом случае использует это под капотом.

Я попытался сгенерировать PDF как с помощью Rotativa, так и с wkhtmltopdf и получить проблему, используя оба.

Решение, которое я выбрал, состояло в том, чтобы создать легенду вручную в представлении, перебирая различные категории и цвета, например так.

        <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>
person RTL    schedule 05.01.2015
comment
Понятно, но это дополнительная работа. Это должно работать из коробки, и это работает с Evo Pdf :) - person JAM; 06.01.2015