Spider Chart (High Chart) в рельсах с креветками PDF Как сгенерировать? - PullRequest
0 голосов
/ 21 января 2020

Я хочу реализовать диаграмму паука (High chart) в моем приложении rails внутри pdf для PDF. Я использовал Prawn PDF gem. Так что у кого-нибудь есть идеи по реализации паутинной диаграммы в формате PDF. У меня также есть эталонный скриншот паука с высокой диаграммой, тот же график, который я хочу внедрить в своем приложении rails pdf, заранее спасибо. enter image description here

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Существует prawn-svg , который может преобразовать SVG в креветку, и, таким образом, вы можете создать график SVG и отобразить его в вашем PDF.

Highcharts может экспортировать SVG, но для запуска вас должен иметь javascript время выполнения, что возможно, но потребует некоторых усилий для установки и запуска. Так что некоторая библиотека диаграмм ruby -уровня может быть более предпочтительной (если вы ее найдете, так как большинство современных библиотек диаграмм предназначены для клиентского javacsript).

Более простое решение - использовать html -to- pdf конвертер, как wkhtmltopdf, на котором основан этот popupar wicked-pdf gem. Он запускает безголовый браузер, отображает страницу и экспортирует в pdf. Процесс намного медленнее, потому что для каждого файла PDF должен выполняться отдельный процесс с браузером, а полученный файл PDF будет больше, но вы можете использовать знакомые веб-методы в разметке и повторно использовать html представления.

0 голосов
/ 21 января 2020

Как вы можете найти на SO форуме, многие пользователи предлагают использовать для этого wkhtmltopdf. Предлагаемые решения:

И здесь пример того, как создать диаграмму паука в JavaScript, которую вы должны легко перестроить в своем проекте:

Демо: https://jsfiddle.net/BlackLabel/n1e0pmtv/

Highcharts.chart('container', {

  chart: {
    polar: true,
    type: 'line'
  },

  xAxis: {
    categories: ['test1', 'test2', 'test3'],
    tickmarkPlacement: 'on',
    lineWidth: 0
  },

  yAxis: {
    gridLineInterpolation: 'polygon',
    lineWidth: 0,
    min: 0
  },

  series: [{
    name: 'test',
    data: [43000, 19000, 60000],
    pointPlacement: 'on'
  }],
});

Я также прилагаю ссылку на блог с инструкцией по реализации Highcharts с Ruby.

https://www.highcharts.com/blog/post/i-am-ruby-developer-how-can-i-use-highcharts/

...