Шрифты при формировании pdf из табличного документа
В виду того, что организация плавно переходит на использование свободных от лицензий шрифтов (и соответственно не попадающих на санкции), то начал работу по переводу некоторых печатных форм в 1С на новые шрифты. Сегодня столкнулся с интересной проблемой, а именно: шрифты при формировании pdf из табличного документа выставляются не верно. Проблема актуальна только при формировании PDF на «сервере». На «клиенте» — всё корректно. Например если в поле табличного документа указать шрифт PT Astra Serif, то в документе pdf они станут ArialMT:
Мало того, даже если при формировании документа прямо указать шрифт…то результат тот же:
1 2 3 4 5 6 7 8 |
Область = Макет.ПолучитьОбласть("Шапка"); Область.Область().Шрифт=Новый Шрифт("PT Astra Serif",11); .... ТабДок.Область().Шрифт=Новый Шрифт("PT Astra Serif",11); Вложения=Новый КоллекцияВложенийPDF(); ТабДок.Записать(врмф , ТипФайлаТабличногоДокумента.PDF_A_3,Вложения); |
Да, тут я попробовал даже использовать относительно новый функционал по сохранению PDF, именно использование формата PDF_A_3, который позволяет добавлять «вложения». Но толкового описания и примеров в сети я не нашел, а документация от 1С очень скудна. Возможно при помощи «вложений» можно прикрепить этот шрифт для использования. Но не факт.
Открыв сформировавшийся файл pdf блокнотом, можно увидеть что платформа 1С даже не пытается упомянуть нужные шрифты:
Хотя если сохранять тот-же самый табличный документ сначала в формат docx, а затем средствами Word сохранить в pdf, то всё отлично сохраняется, и PDF получается корректный:
Ну что я могу сказать? На лицо похоже ошибка в платформе. Будем ждать обновлений, а пока решил проблему формированием файла в формате html5:
1 2 3 |
врмф=ПолучитьИмяВременногоФайла(".html"); ТабДок.Записать(врмф , ТипФайлаТабличногоДокумента.HTML5); дд = Новый ДвоичныеДанные(врмф); |
Что в принципе в моём случае, проблему «не верные шрифты при формировании pdf» временно закрыло