При создании html документа с помощью fs не подключаются стили

С клиента собираю html код элемента, добавляю к нему 2 файла стилей: CDN и локальный. Отсылаю на сервер. На сервере делаю html документ с собранным кодом для дальнейшей конвертации в pdf. После конвертации приходит pdf в котором подключились стили из файла CDN, но не подключились из локального файла. Клиент:

const styles = "<link rel=\"stylesheet\" href=\"https://cdn.quilljs.com/1.3.6/quill.core.css\">" +
  "<link rel=\"stylesheet\" href=\"styles.css\">"
const html = styles + document.getElementById("container").outerHTML
await PDFService.getPDF("file", html) //там идет axios запрос
    .then(res => res.data)
    .then(base64String => {
        const anchorTag = document.createElement('a');
        anchorTag.href = base64String;
        anchorTag.download = "file.pdf";
        anchorTag.click();
    });

Сервер:

import htmlPdf from "html-pdf"
import fs from "fs";

const { fileName, html } = req.body
fs.writeFileSync(`./src/html-to-pdf-module/${fileName}.html`, html, 'utf-8')
const html1 = fs.readFileSync(`./src/html-to-pdf-module/${fileName}.html`, 'utf-8')
htmlPdf.create(html1, {format: 'A4'}).toFile(`./src/html-to-pdf-module/${fileName}.pdf`, (err) => {
    if(err) {
        return console.log('Ошибка конвертации', err)
    }
    fs.readFile(`./src/html-to-pdf-module/${fileName}.pdf`, (e, data) => {
        if (e) res.status(500).send(e);
        res.contentType('application/pdf')
          .send(`data:application/pdf;base64,${new Buffer(data).toString('base64')}`);
        fs.unlinkSync(`./src/html-to-pdf-module/${fileName}.html`)
        fs.unlinkSync(`./src/html-to-pdf-module/${fileName}.pdf`)
    });
})
Файл стилей на сервере лежит в той же папке, в которую генерируется html. Я пробовал прописывать абсолютный путь, не помогает. Вариации "/styles" или "./styles" тоже не работают. При этом с CDN стилями вообще никаких проблем. Подскажите, пожалуйста, как можно решить данную проблему.


Ответы (0 шт):