Пакет узла "dynamic-html-pdf" не применяет CSS к сгенерированному pdf - PullRequest
0 голосов
/ 08 ноября 2018
app.get('/individual_report/:athlete_id', function(req, res) {
  database.select('*').from('participants').then(data => {
    if (data.length) {
      res.render('individual_report', {
        name: data
      });
      const hbsfile = fs.readFileSync(__dirname + '/../public/views/individual_report.hbs', 'utf8');
      const document = {
        template: hbsfile,
        context: {
          options: {
            dataForPDF: data,
          },
        },
        path: "./test.pdf"
      };
      pdf.create(document, options).then(res => {
        console.log(res)
      }).catch(error => {
        console.error(error)
      });
    } else {
      res.json({
        msg: 'Invalid athlete ID'
      });
    }
  }).catch(err => res.sendStatus(400));
});

У меня есть этот маршрут, который визуализирует шаблон руля и одновременно генерирует pdf шаблона. Проблема с сгенерированным pdf в том, что к нему не применяется print css.

В hbs я связал этот print css и связь работает. Я проверил это, сменив носитель с печати на экран.

<link rel="stylesheet" href="/../static/assets/css/style_print_individual_report.css" type="text/css" media="print" />

Чтобы применить print css к pdf, мне нужно поместить тег с @media print {} в шаблон hbs, который я не считаю аккуратным.

Итак, вопрос в том, читает ли пакет dynamic-html-pdf print css и есть ли способ каким-либо образом включить css без тега style в файл шаблона?

1 Ответ

0 голосов
/ 09 ноября 2018

Насколько я могу судить, он не принимает внешний CSS. Я использовал встроенный CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...