Квадратные символы выдают на wkhtmltopdf - PullRequest
35 голосов
/ 07 января 2011

Я установил wkhtmltopdf на Centos 5.5.(Так как были проблемы с библиотекой, прошло 4 дня).Это частично работает сейчас.Я сказал частично, потому что все PDF-файлы, созданные wkhtmltopdf, содержат квадраты вместо текста?

Что я могу сделать?Я искал в Google, но ничего не смог найти.

Благодарим Вас за помощь.

Ответы [ 7 ]

81 голосов
/ 30 декабря 2011

Когда у меня возникла проблема с черными квадратами, я смог ее решить без установки X11, установив пакет urw-fonts .

18 голосов
/ 09 января 2013

Мне удалось решить эту проблему, используя следующий ресурс:

http://code.google.com/p/wkhtmltopdf/wiki/static

Короче говоря, вам, вероятно, не нужно устанавливать всю библиотеку x11 и все ее зависимости. Просто установка urw-шрифтов должна сделать свое дело . Вышеупомянутый ресурс даже упоминает CentOS как имеющую эту проблему.

Запустите эту команду на вашем сервере:

sudo yum install urw-fonts libXext openssl-devel
2 голосов
/ 06 декабря 2017

Я использую CentOS 7 с wkhtmltox 12.4 и обнаружил, что до сих пор ни одно из предложений не исправляло мой блок-текст в выходных PDF-файлах.

Для меня окончательное решение заключалось в установке dejavu-sans-fonts.

0 голосов
/ 07 июля 2019

В случае, если кто-то сталкивается с той же проблемой на Alpine.Это решило проблему для меня:

apk --update add ttf-dejavu
0 голосов
/ 29 марта 2011

Автономный wkhtmltopdf не нуждается в x-сервере - попробуйте и посмотрите, облегчает ли это проблему.У меня он работает на CentOS без графического / x-сервера, и он работает абсолютно нормально.

0 голосов
/ 13 февраля 2011

Я думаю, вам нужно попробовать установить пакеты X11, wkhtmltopdf использует это для шрифтов и т. Д. Симптомы, которые вы описываете, это то, что программа будет делать, если эти пакеты отсутствуют.

0 голосов
/ 08 января 2011

Я предполагаю, что это проблема со шрифтом или проблема с кодировкой.

Какую кодировку использует ваш HTML?(Это проще проверить, поэтому я сначала перечислил это). Если это что-то необычное, вам, возможно, придется перевести его до подачи в wkhtmltopdf.Сообщение об ошибке также может помочь в этом случае.

Знает ли wkhtmltopdf, как найти ваши шрифты?Если wkhtmltopdf не может найти шрифты вашей системы, то возникла серьезная проблема, и он может использовать символ «Неизвестный символ» (пустое поле).

Кроме того, если ваш текст содержит символы, которые нефактически существует в запрашиваемом шрифте, вы получите неизвестный символ персонажа.Если предполагается, что вы используете "Courier New" и текст на арабском языке ... шрифт Courier не содержит этих символов.Браузеры имеют различные резервные позиции, которые они могут использовать, но рендерер PDF просто сделает то, что ему говорят, в меру своих возможностей.И в этом случае это неизвестный символьный символ.

Простой тест : может ли wkhtmltopdf успешно преобразовать "hello world.html" в PDF в вашей системе?

<html><body>Hello World</body></html>

Если это сработает, вам нужно выяснить, где вдоль линии между «мертвым мозгом» и «вашим настоящим HTML» все идет наперекосяк.

...