Symfony KNP Snappy Bundle: процесс был сигнализирован с сигналом "11" - PullRequest
2 голосов
/ 11 марта 2020

Я создал PDF-файл с диаграммой высоких диаграмм, используя пакет KNP snappy. Если я получу getOutputFrom Html (), рендеринг файла веток без диаграммы старших графиков, это будет успешно. Если я скопирую и вставлю пример из старших графиков, а затем получу getOutputFrom Html (), он будет успешным. Так что это не путь к WKHTMLTOPDF, старшим диаграммам или javascript, вызывающим проблему. Если я переключаю пример с верхних графиков с диаграммой, которую я хочу там go, то выдается ошибка «Процесс был сигнализирован с сигналом« 11 ».». У меня есть диаграмма на других страницах сайта, и она не выдает никаких ошибок javascript, так что это не диаграмма. Если я посмотрю на визуализацию html из файла ветки перед getOutputFrom Html (), диаграмма показывает и не выдает никаких ошибок javascript. У меня есть анимация, включить отслеживание мыши и тени все установлено на false. Ошибка процесса исчезнет только в том случае, если я укоротю имена в ряду данных или поменяю y на последнем элементе в ряду данных. Я посмотрел на другие вопросы с той же ошибкой, но ни один из них не решил мою проблему. Я также подтвердил, что se linux не вызывал проблему.

Это диаграмма

<script type="text/javascript">
        $(document).ready(function () {
            Highcharts.chart('tam-by-product-type-chart', {
                credits:{
                    enabled:false
                },
                chart: {
                    plotBackgroundColor: null,
                    plotBorderWidth: null,
                    plotShadow: false,
                    type: 'pie'
                },
                title: {
                    text: 'TAM by Product Type'
                },
                tooltip: {
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
                },
                accessibility: {
                    point: {
                        valueSuffix: '%'
                    }
                },
                plotOptions: {
                    pie: {
                        allowPointSelect: true,
                        cursor: 'pointer',
                        dataLabels: {
                            enabled: true,
                            format: '<b>{point.name}</b>: {point.percentage:.1f} %'
                        }
                    }
                },
                series: [{
                    name: 'Share',
                    enableMouseTracking: false,
                    shadow: false,
                    animation: false,
                    data: [{
                        name: 'Addressable Wire/Cable',
                        y: {{ data.totalProductTypes.wireCable|number_format(2) }}
                    }, {
                        name: 'Addressable Lighting',
                        y: {{ data.totalProductTypes.lighting|number_format(2) }}
                    }, {
                        name: 'ACRF',
                        y: {{ data.totalProductTypes.conduitRacewayFittings|number_format(2) }}
                    }, {
                        name: 'ADSCB',
                        y: {{ data.totalProductTypes.distributionSwitchgearCircuitBreakers|number_format(2) }}
                    }, {
                        name: 'AIC',
                        y: {{ data.totalProductTypes.industrialControls|number_format(2) }}
                    }, {
                        name: 'All Other',
                        y: {{ data.totalProductTypes.other|number_format(2) }}
                    }]
                }]
            });
        });
    </script>

Здесь я делаю pdf

$bodyHtml = $this->templating->render('pdf/reports/territory_book/body.html.twig', array('data' => $data));

$bodyPdf = $this->pdf->getOutputFromHtml($bodyHtml, array(
    'page-size' => 'Letter',
    'images' => true,
    'enable-javascript' => true,
    'javascript-delay' => 5000
));

1 Ответ

1 голос
/ 11 марта 2020

В итоге размер шрифта на графике закончился. Я уменьшил размер шрифта до 5, и он без ошибок выдал PDF.

dataLabels: {
     style: {
          fontSize: 5
     }
},
...