Некоторое время назад я столкнулся с интересной проблемой: у пользователя некорректно отображаются кириллические шрифты в PDF формуляре при просмотре расчетного листка. Расчетный листок формируется из портального сервиса самообслуживания сотрудников. В условиях данной задачи, также «дано», что в постоянных значениях основной записи пользователя, для параметра «Устройство вывода», установлено значение «PDF».

Рисунок 1. Некорректное отображение кириллических шрифтов на портале

Посмотрим, что было сделано, для ее исправления этой ошибки.

Для начала необходимо определить наименование шрифта, который не отображается на портале. Для этого, в открывшемся сервисе «Просмотр расчетного листка», кликнуть кнопкой мыши и в контекстном меню выбрать пункт «Document Properties»:

Рисунок 2. Свойства PDF

Затем перейти на вкладку Fonts:

Рисунок 3. Свойства PDF - шрифты

В данном случае, используемый в PDF-формуляре шрифт, Courier. Скачиваем TrueType шрифт Courier и устанавливаем его в системе, с которой «связан» портал.
При этом необходимо обязательно убедиться, в том, что данный шрифт поддерживает кириллицу. Запускаем программу RSTXPDF2UC, выбираем на селекционном экране опцию «Перечислить атрибуты шрифта» и смотрим на раздел «Поддержанные языки/Сценарии»:

Рисунок 4. Программа RSTXPDF2UC

В данном случае, раздел «Поддержанные языки/сценарии» пустой. Для решения проблемы с некорректно отображаемыми кириллическими шрифтами в PDF формуляре, необходимо найти шрифт, который будет поддерживать кириллическую область уникода. К таким шрифтам, к примеру, относится Courier New:

Рисунок 5. Программа RSTXPDF2UC

Шрифт Courier New отлично подходит для решения вышеописанной проблемы.

После того, как необходимый шрифт был найден и сохранен на локальный компьютер (файл с расширение *.TTF) необходимо запустить программу RSTXPDF2UC в back-end системе, выбрать пункт «Инсталлировать шрифт True type»:

Рисунок 6. Программа RSTXPDF2UC

В появившемся окне необходимо выбрать директорию, в которой сохранен TTF файл

Рисунок 6. Программа RSTXPDF2UC

Рисунок 7. Выбор шрифта

В появившемся диалоговом окне консультанту будет предложено создание нового шрифта в системе. Необходимо выбрать «Да»:

В следующем диалоговом окне будет предложено использование данного шрифта в PDF-файлах. Необходимо выбрать «Да»

Затем система предложит внесенные изменения сохранить в транспортный запрос

После выполненной установки отобразится справочная информация о шрифте:

Далее нужно создать правило мэппинга для только что установленного в системе шрифта. Правило мэппинга определяет для каких символов будет использоваться тот или иной шрифт. Для этого необходимо выбрать пункт «Создать/изменить правило мэппинга» на селекционном экране программы RSTXPDF2UC:

Рисунок 8. Программа RSTXPDF2UC

В появившемся диалоговом окне выбрать «Да»

Затем необходимо выбрать только что установленный шрифт (в данном примере, это Courier New)

fonts-15

Определяем поддерживаемые области для нового шрифта (в нашем случае необходимо выбрать значение CYRYLLIC)

Затем внесем изменения в устройство вывода, использующееся в системе для работы с PDF формулярами. Для этого открываем транзакцию SPAD:

Рисунок 9. Транзакция SPAD

Выбираем устройство вывода «PDF», нажимаем на кнопку «Просмотр». В открывшемся экране меняем тип устройства с POST2 на PDUFC:

Рисунок 10. Изменение настроек устройства вывода PDF

Сохраняем внесенные изменения и переходим к свойствам типов устройств:

Рисунок 11. Переход к настройкам типов устройств

Заменяем значение кодировки на 1505 «Printer SAPWIN5  Russian MS-Windows codepage»

Сохраняем, и проверяем изменилось ли у пользователя отображение символов в формуляре сервиса «Просмотр расчетного листка».

Voilà:

Рисунок 12. Сервис самообслуживания сотрудников "Расчетный листок"