Создавать PDF файлы phantomjs, повторяя HEADER

Я создаю pdf файлы с использованием phantomjs, но я хотел бы повторить определенный заголовок с HTML, он работает, когда нет изображений, но как только я его добавлю, он не работает.

page.viewportSize = { width: 600, height: 600 };
page.paperSize = {
  format: 'A4', orientation: 'portrait', margin: '0px',
  header: {
    height: "1.2cm",
    contents: phantom.callback(function(pageNum, numPages) {
      return '<img src="https://www.google.com.bo/images/srpr/logo4w.png" height="0.95cm"/>';
    })
  },
  footer: {
    height: "0.7cm",
    contents: phantom.callback(function(pageNum, numPages) {
      return '<h3 class="header">Footer</h>';
    })
  }
}

Ответ 1

Поврежденный путь, предварительно кэшируйте изображение на вашей странице, поместив img в тело с дисплеем: none;.

<img src="https://www.google.com.bo/images/srpr/logo4w.png" height="0.95cm" style="display: none;"/>

Затем добавьте тег img в свой заголовок и/или нижний колонтитул.

Это необходимо, потому что верхний и нижний колонтитулы не дождались завершения загрузки html, прежде чем продолжить растровое изображение. Его нужно улучшить, чтобы быть более Async и является известной ошибкой.

Поскольку верхний и нижний колонтитулы обрабатываются после полной загрузки страницы, изображение будет доступно для них. Это также работает с источником изображения base64.

Ответ 2

Он работает с патчем от https://github.com/ariya/phantomjs/pull/359
Чтобы установить его:

git clone git://github.com/ariya/phantomjs.git
cd phantomjs
git checkout 1.9

edit [remote "origin"] part in .git/config
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://github.com/ariya/phantomjs.git
    fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

git fetch
git merge pr/359
./build.sh