используя пользовательский (urdu) шрифт в wicked-pdf - PullRequest
0 голосов
/ 24 июня 2018

Я использую Wicked PDF для создания PDF в приложении рельсы 4.Мне нужно сделать шрифты урду в формате PDF.Следуя этим двум ответам Nikhil и Ashitaka , я скачал шрифт Jameel Noori Nastaleeq из здесь , установил их на моем локальном компьютере и добавил в папку assets/fonts.После прекомпиляции ресурсов определенное семейство шрифтов в моем файле pdf.scss

@font-face {
  font-family:"Jameel Noori Nastaleeq";
  src:url("Jameel Noori Nastaleeq/Jameel Noori Nastaleeq.ttf");
  font-weight: bold;
}
.urdu-font {
  font-family: 'Jameel Noori Nastaleeq';
}

Мой файл PDF-представления выглядит следующим образом

%head
  %meta{:charset => "utf-8"}   
    = wicked_pdf_stylesheet_link_tag 'pdf'
%body.urdu-font
  = render "custom_form"

, где _custom_form.pdf.haml, содержит частичное поле ввода, содержащее urdutext.

Шрифт Urdu отлично работает на локальном компьютере как в режиме pdf, так и в режиме отладки, но при развертывании он неправильно отображается в файле pdf, тогда как в режиме отладки он прекрасно отображается.

В режиме отладкиЯ проверил путь к ресурсу шрифта, т.е. src:url(file:////home/deploy/<remote-location>/releases/20180622133137/public/assets/Jameel Noori Nastaleeq/Jameel Noori Nastaleeq-39c54f1646a6a4f68408f3a26400e457cb1e52226c284d8c4ab36a3363520e0f.ttf), который выглядит нормально, и шрифт действительно хорошо отображается в этом режиме отладки html.

PS Я также видел эту запись , которая использует удаленныйШрифты предоставлены googleapi.Я пробовал это, и это работает, но я хочу использовать локальный ресурс шрифта.

1 Ответ

0 голосов
/ 30 июня 2018

WickedPDF делает большинство ресурсов доступными в виде ссылок file://, потому что ваш контент отображается в временном файле до того, как будет отображен с wkhtmltopdf, однако это создает некоторые проблемы для вызовов и шрифтов ajax.

Вы можете обойти проблемы с загрузкой из file, используя base64 кодировку ресурса шрифта и добавив в него:

url('<%= wicked_pdf_asset_base64('yourfile.ttf') %>')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...