У меня проблема, у меня есть страница отчета html с JS Highcharts, изображениями, таблицами и т. Д., И я искал экспортировать все в отчет в формате PDF (с таблицами, изображениями и т. Д.). Проблема в том, что поскольку Highcharts (и другие JS-диаграммы) отображаются в браузере, они не отображаются в сгенерированном PDF-файле. Я пробовал JSPdf и PhantomJS, но с этими генераторами скриншотов я теряю весь стиль и формат, которые я создал с помощью xhtml2pdf (обложка и задняя страница, водяные знаки и т. Д.). Можете ли вы помочь мне здесь?
Графики включены в Django PDF
Ответы (1)
Я решил это! .- Иметь шаблон с графикой HighchartsJS. .- Прочтите каждый холст диаграммы и сохраните их в их собственном скрытом вводе с помощью:
(function (H) {
H.Chart.prototype.createCanvas = function (divId) {
var svg = this.getSVG(),
width = parseInt(svg.match(/width="([0-9]+)"/)[1]),
height = parseInt(svg.match(/height="([0-9]+)"/)[1]),
canvas = document.createElement('canvas');
canvas.setAttribute('width', width);
canvas.setAttribute('height', height);
if (canvas.getContext && canvas.getContext('2d')) {
canvg(canvas, svg);
return canvas.toDataURL("image/jpeg");
}
else {
alert("Your browser doesn't support this feature, please use a modern browser");
return false;
}
}
}(Highcharts));
var imageData = $("#ausentismo_tot").highcharts().createCanvas();
$('#aus_tot_image').val(imageData); //Hidden Input
.- Путешествует с опубликованной информацией и обрабатывает ее в views.py:
aus_tot_image = request.POST['aus_tot_image']
.- Распечатайте файл pdf с помощью render_to_pdf_response xhtml2pdf:
<img src="{{ aus_inc_image }}" >
person
JuanMa
schedule
27.11.2020