2017-02-21 2 views
0

Я успешно отрисовывал PDF-документы jsreport на своей машине разработки. Однако при запуске jsreport на тестовом сервере PhantomJS отказывается от использования шрифта по умолчанию. Любая идея, как решить или устранить неполадки?jsReport not rendering custom font

Я пользуюсь Handlebars и PhantomJS. Спецификация машины Dev: jsReport 1.0.7 на узле v4.4.5 на 64 бит Win10. Тестовый сервер спецификации: jsReport 1.0.7 на узле VX.XX на 64 бит Win2012 R2 Сервер

Действия по воспроизведению:

1) Загрузить шрифты jsReport

fonts uploaded to jsreport

При выборе jsReport предлагает использовать его, как показано ниже: {#image MavenPro-Black @ кодирования = base64}

2) Добавить «ярлык» в файл данных

{ 
    "assets": { 
    "MavenPro-Black": "{#image MavenPro-Black}", 
    "MavenPro-Bold": "{#image MavenPro-Bold}", 
    "MavenPro-Medium": "{#image MavenPro-Medium}", 
    "MavenPro-Regular": "{#image MavenPro-Regular}", 
    "jquery": "{#image jquery}" 
}, 
    …… 
} 

3) Использование актива в отчете

<head> 
    <script src="{{assets.jquery}}"></script> 
    <style> 
     /* Common Classes */   
     @font-face { 
     font-family: 'Maven Pro'; 
     src: url({{assets.MavenPro_Regular}}) format('truetype'); 
    } 

ответ

0

Причина, по которой он работает на локальный, потому что вы, вероятно, этот шрифт уже установлен. Причина, по которой он не может работать на сервере, заключается в том, что у вас есть опечатка в вашем коде:

Вы данные о недвижимости MavenPro-Regular, но в шаблоне вы получаете к ней доступ с помощью {{assets.MavenPro_Regular}}. Вам просто нужно изменить - на _ в ваших данных, и он должен работать.

Работа пример:
https://playground.jsreport.net/studio/workspace/SklZyycYg/9

Подсказка 1: Используйте text рецепт и распечатать сырой выход для устранения таких проблем. Вы сразу увидите, что шрифт не заполнен.

Подсказка 2: Вы должны использовать функцию jsreport assets для встраивания шрифтов, а не расширения изображений. Вы можете найти демонстрацию, как использовать ее с описанием here.

Редактировать расширение активов является частью установки по умолчанию, и можно считать стабильной, начиная с версии 1.3.0

+0

Hi Jan, 1) Спасибо за ваш быстрый ответ. 2) Удивительный продукт чувак. Все, кого я показываю, любят богатый набор функций, сохраняя при этом легкий вес. 3) Это отличный пикап. В процессе работы я жестко закодировал Font, и это исправляло опечатку в процессе. 4) Я видел страницу плагина Активы, но не мог ее полностью решить. Простите мой новичок, но как установить плагин? Если он установлен по умолчанию (я помню, как это читал), где я могу найти кнопку загрузки? Я почти уверен, что смогу это исправить. Я буду искать опечатки :-) Еще раз спасибо! –

+0

Хмм .... Пробовал: npm установить jsreport-активы, что, вероятно, способ пойти, но студия перестала отвечать ... Попробует снова устранить проблему позже. –

+0

Хорошо, обновлено до последней версии, расширение Asset Extension установлено по умолчанию .... –