ruby-on-rails – wicked_pdf在unicode pdf转换(ruby)上显示未知
我正在尝试使用wicked_pdf(版本1.1)和wkhtmltopdf-binary gems从html页面创建pdf.
我的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> 但是,当我尝试使用rails控制台中gem的WickedPdf.new.pdf_from_html_file方法生成PDF时, File.open(File.expand_path('~/<--pdf_filename-->.pdf'),'wb+') {|f| f.write WickedPdf.new.pdf_from_html_file('<--absolute_path_of_html_file-->')} 我得到以下结果: PDF result with unknown character 如您所见,第一个日历图标已正确显示,但是显示第二个字符,我们不知道它来自何处. 我已经通过编码UTF-8和UTF-16以及代理对调查了这个相关的帖子stackoverflow_emoji_wkhtmltopdf,并查看了这个问题wkhtmltopdf_git_issue,但仍然无法让这个角色消失! 如果您有任何线索,那就非常受欢迎了. 在此先感谢您的帮助! 编辑 根据Eric Duminil和petkov.np的评论,我可以确认 – 上面的代码在Linux上适用于我.这似乎是Linux vs MacOS问题.任何人都可以建议MacOS绑定中的核心问题以及是否可以修复? 解决方法
我已多次编辑此答案,请参阅最后的注释以及注释.
我正在使用macOs 10.12.2并遇到同样的问题.我列出了所有的浏览器等版本,虽然我怀疑最大的因素是OS / wkhtmltopdf版本. > Chrome:版本55.0.2883.95(64位) 我正在使用以下示例代码段: <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="utf-8"> <style type="text/css"> p { font-family: 'EmojiSymbols',sans-serif; } @font-face { font-family: 'EmojiSymbols'; src: local('EmojiSymbols-Regular.woff'),url('EmojiSymbols-Regular.woff') format('woff'); } span:before { content: ' 1F60B'; } </style> </head> <body> <p> |