пятница, 20 марта 2015 г.

Отчеты BI Publisher и шрифт Times New Roman (кириллица)

Столкнулся с необходимостью формировать отчеты в старой версии Oracle BI Publisher Enterprise (10.1.3.4.1) и сразу возникла сложность со шрифтам. Причем проблема возникала только при формировании отчета в формате pdf. Вместо правильных шрифтов статически указывался Alban WT J и вся кириллица смотрелась ужасно, стили не соответствовали шаблону - небыло выделения жирным и остальные странные артефакты.

Решение:

Первым делом скопировать необходимые шрифты из windows (c:\windows\fonts\), например, Times New Roman, Arial и т.д. в директорию jre/lib/fonts (тут необходимо четко понимать, какой из jre использует ваш BIP, так например на нашей тестовой среде используется не родной).

Следующим шагом прописать группу шрифтов в конфигурационный файл (xdo.cfg). В зависимости от задачи - это может быть глобальный файл (расположен %BIP%/xmlp/XMLP/Admin/Configuration) или локальный для определенного отчета. Мой конфиг выглядит теперь так:
<config version="1.0.0" xmlns="http://xmlns.oracle.com/oxp/config/">

   <properties>
      <property name="pdf-compression">true</property>
   </properties>
   <fonts>
        <font family="Arial" style="normal" weight="normal"> 
            <truetype path="/arial.ttf" /> 
        </font> 
        <font family="Arial" style="italic" weight="normal"> 
            <truetype path="/ariali.ttf" /> 
        </font> 
        <font family="Arial" style="normal" weight="bold"> 
            <truetype path="/arialbd.ttf" /> 
        </font> 
        <font family="Arial" style="italic" weight="bold"> 
            <truetype path="/arialbi.ttf" /> 
        </font>    

        <font family="Times New Roman" style="normal" weight="normal"> 
            <truetype path="/times.ttf" /> 
        </font> 
        <font family="Times New Roman" style="italic" weight="normal"> 
            <truetype path="/timesi.ttf" /> 
        </font> 
        <font family="Times New Roman" style="normal" weight="bold"> 
            <truetype path="/timesbd.ttf" /> 
        </font> 
        <font family="Times New Roman" style="italic" weight="bold"> 
            <truetype path="/timesbi.ttf" /> 
        </font>    

      <font family="Default" style="normal" weight="normal">
         <truetype path="/times.ttf" />
      </font>

      <!--Font substitute setting (for PDFForm filling etc...) -->
      <font-substitute name="MSGothic"> 
         <truetype path="/msgothic.ttc" ttcno="0" />
      </font-substitute>  
   </fonts>
</config>

1 комментарий:

  1. спасибо братан, очень помог, 2 недели трахался с нормальным преобразование шрифта из ртф в пдф

    ОтветитьУдалить