Мы используем wkhtmltopdf в веб-проекте (nodejs / componentjs). Мы работали так, как хотели на наших машинах (используя переключатель --use-xserver
). Однако, когда я пытаюсь запустить это на нашем сервере Ubuntu 12.04 (без пакета ubuntu-desktop), PDF не может использовать этот переключатель. Когда мы отключаем переключатель, PDF отображает любые символы в виде блоков (изображение ниже).
Как мне решить эту проблему, не устанавливая ubuntu-desktop и не запуская x-сервер?
Я нашел освободительные шрифты , в которых были установлены ttf-liberation и fonts-liberation нет помощи. И urw-шрифты , но мне еще предстоит найти эквивалент Ubuntu.
РЕДАКТИРОВАТЬ : Меня просто поразило, не важно, нахожусь я на сервере или нет. На моей машине для разработки (рабочий стол Ubuntu 13.04) я могу запустить следующее, которое выдает те же блоки:
wkhtmltopdf http://google.com google1.pdf
В то время как это правильно печатает PDF:
wkhtmltopdf --use-xserver http://google.com google2.pdf
Моя версия wkhtmltopdf - 0.12.0.
Этот отчет об ошибке предполагает, что wkhtmltopdf просто необходим все, что xorg-x11-fonts
предоставляет :
$ wajig list-installed xfonts
xfonts-base
xfonts-encodings
xfonts-mathml
xfonts-scalable
xfonts-utils
Так что попробуйте установить их. Обратите внимание, что вы добавите несколько X-зависимостей, но не сам сервер .
На самом деле для wkhtmltopdf в linux требуется довольно много Xorg, как упомянуто на странице проекта :
(Linux) Больше не требуется запуск XServer (однако Клиентские библиотеки X11 должны быть установлены)
blockquote>Также необходимо установить клиентские библиотеки.