Кукловод: Как сделать PDF-файл части страницы, содержащей несколько элементов холста? - PullRequest
0 голосов
/ 07 мая 2020

У меня есть страница html, содержащая несколько html диаграмм холста. Я хочу создать PDF-файл этой страницы, но без заголовка (т.е. часть страницы html, которая содержит несколько элементов холста). Я пробовал использовать canvas.toDataURL, но он может писать только в изображение. Также это изображение не содержит оригинального фона из html. Когда я пытаюсь сделать с селектором и внутренним HTML, он не возвращает холст. Как это сделать? Это мой тестовый код.

const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
    headless: false,
    args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-web-security']
})
const reports = await browser.newPage()
await reports.goto('<myurl>')
await reports.waitFor(5000);
const canvas = await reports.evaluate(() => {
    const canvas = document.querySelector("#canvasselector");
    // I need to select more broader selector here #largeselector which contains multiple canvas elements and html
    return canvas.toDataURL();
});
const base64String = canvas.substr(canvas.indexOf(',') + 1); // get everything after the comma
const imgBuffer = Buffer.from(base64String, 'base64'); //
fs.writeFileSync('test.png', imgBuffer);

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