Я пытаюсь создать PDF-файл из html-страницы, используя wicked_pdf
(версия 1.1) и wkhtmltopdf-binary
драгоценные камни. Моя html-страница содержит смайлик календаря, который хорошо отображается в браузере, независимо от того, какой шрифт я использую.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv='content-type' content='text/html; charset=utf-8' />
<style>
unicode {
font-family: 'OpenSansEmoji', sans-serif;
}
@font-face {
font-family: 'OpenSansEmoji';
src: url(data:font/truetype;charset=utf-8;base64,<-- encoded_font_base64_string-->) format('truetype');
}
</style>
</head>
<body>
<div><unicode>📅</unicode></div>
</body>
</html>
Однако, когда я пытаюсь создать PDF-файл, используя метод WickedPdf.new.pdf_from_html_file
драгоценного камня в консоли рельсов,
File.open(File.expand_path('~/<--pdf_filename-->.pdf'), 'wb+') {|f| f.write WickedPdf.new.pdf_from_html_file('<--absolute_path_of_html_file-->')}
Я получаю следующий результат:
Результат PDF с неизвестным символом
Как видите, первый значок календаря отображается правильно, однако отображается второй символ, но мы не знаем, откуда он взялся.
Я исследовал кодировку в UTF-8 и UTF-16 и суррогатную пару, как это было предложено в этом связанном сообщении stackoverflow_emoji_wkhtmltopdf и рассмотрел эту проблему wkhtmltopdf_git_issue, но по-прежнему не могу заставить этот символ исчезнуть!
Если у вас есть какие-либо подсказки, это более чем приветствуется.
Заранее спасибо за вашу помощь!
ИЗМЕНИТЬ
Следуя комментариям Эрика Дюминила и petkov.np, я могу подтвердить - приведенный выше код у меня правильно работает в Linux. Похоже, это проблема Linux и MacOS. Кто-нибудь может подсказать, в чем суть проблемы в привязке MacOS и можно ли это исправить?