4.2.4.1. Преобразование HTML в PDF
Отчёты, имеющие формат шаблона HTML и формат вывода PDF, не всегда корректно отображают шрифты. Для решения этой проблемы добавьте в конфигурационный каталог блока Middleware (в стандартном варианте развертывания tomcat/conf/app-core) подкаталог cuba/fonts с необходимыми .ttf-шрифтами. Кроме того, можно использовать шрифты из операционной системы путем указания пути к ним в свойстве приложения reporting.fontsDir.
Для решения проблемы со шрифтами на сервере Ubuntu выполните следующее:
-
Установите пакет ttf-mscorefonts-installer:
$ sudo apt-get install ttf-mscorefonts-installer
-
Установите свойство приложения reporting.fontsDir:
reporting.fontsDir = /usr/share/fonts/truetype/msttcorefonts
-
В HTML-шаблонах используйте явное указание шрифтов, например так:
<html> <head> <style type="text/css"> * { font-family: Times New Roman; } </style>
Стоит также позаботиться об экранировании спецсимволов. Чтобы избежать ошибок при конвертации HTML в PDF, рекомендуется обернуть поля в HTML шаблоне в конструкцию <![CDATA[ ]]>
:
<tr>
<td> <![CDATA[${(row.fields('book_name'))!?string!}]]> </td>
<td> <![CDATA[${(row.fields('author'))!?string!}]]> </td>
</tr>