Я пытаюсь использовать Google Chrome в качестве замены PhantomJS для рендеринга HTML в PDF. Пока это хорошо работает для меня. Единственная проблема, с которой я столкнулся, я не нашел способа перевести следующий код PhantomJS:
page.paperSize = {
  footer: {
    contents: phantom.callback(function(pageNum, numPages) {
      return "Power by MyWebsite. Created on "+formatDate(new Date())+"<span style='float:right'>" + pageNum + " / " + numPages + "</span>";
    })
  }
}
 Дата форматирования - та же самая функция, что и в вопросе. Как форматировать дату JavaScript
Однако я не нашел способ воспроизвести это поведение в Google Chrome без головы. Я использую удаленный интерфейс Chrome (CDP) с https://github.com/cyrus-and/chrome-remote-interface
Это схема моего кода удаленного кода chrome:
return new Promise(async function (resolve, reject) {
    const url = "<MyURL here>";
    const [tab] = await Cdp.List()
    const client = await Cdp({ host: '127.0.0.1', target: tab });
    await Promise.all([
       Network.enable(),
       Page.enable()
    ]);
    Page.loadEventFired(function () { 
         setTimeout(function () {
             resolve(Page.printToPDF({displayHeaderFooter:true}))); //https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
         }, 3000);
    });
    await Page.navigate({ url }); 
};
 Я получаю PDF просто отлично, но могу получить только заголовки и нижние колонтитулы Chrome по умолчанию. Любой способ их изменить?
Примечание. Я понимаю, что я могу использовать JavaScript на своей странице, чтобы добавлять элементы к нижней части каждой страницы, но я бы предпочел изменить нижний колонтитул, добавленный браузером при экспорте/печати, поскольку я нашел его намного более надежным правильно размещаться и не вызывать каких-либо странных перетоков других разделов на странице.