Как я могу отобразить «$ £ Ω € απ⅔» в Jasperserver PDF с помощью iReport?

jasper-reports special-characters export-to-pdf

10733 просмотра

3 ответа

Я жестко закодировал текстовое поле со значением

 ":$£Ω€απ⅔:" 

проверить, будут ли эти символы отображаться в PDF

Но это только печатает как

:$£€:

Я попытался изменить шрифт на «Символ», но это не сработало.

Примечание: я использую iReport 5.5

Автор: LegionDev Источник Размещён: 12.11.2019 09:52

Ответы (3)


18 плюса

Решение

Я попробовал ваши персонажи, используя расширения шрифтов в iReport. Это шаги, которые я предпринял

  1. Скачайте (или используйте один на свой компьютер) нужный шрифт ttf (он должен поддерживать символы), я использовал dejavu-serif .
  2. Установите шрифт в iReport или в софт-студию Jasper (нажмите ссылки, чтобы понять, как это сделать)

    • Я использовал iReport 5.6 и установил PDF-Encoding: Idenity-H (Unicode с горизонтальной записью) и встроил шрифт в PDF. Это был код моего textField

      <textField>
          <reportElement x="8" y="15" width="100" height="20" uuid="41dc1200-091f-4799-a1d2-4622f88a0e84"/>
          <textElement>
              <font fontName="DejaVu Serif" size="13"/>
          </textElement>
          <textFieldExpression><![CDATA[":$£Ω€απ⅔:"]]></textFieldExpression>
      </textField>
      
  3. Экспортируйте расширение шрифта (это создает .jar)

  4. Добавьте банку в ваш путь к классам.
  5. Экспорт в PDF и наслаждайтесь результатом.

Результат

Это пример того, как использовать любой произвольный шрифт, если вы хотите использовать его DejaVu Sansили DejaVu Serifвы можете просто включить библиотеку шрифтов отчета jasper в classpath, следовательно, этот шрифт уже включен и отображается в библиотеке

Автор: Petter Friberg Размещён: 26.11.2015 02:28

2 плюса

Я опубликовал аналогичный вопрос, и вышеописанный метод решил мою проблему, пока в один прекрасный день я не перезапустил контекст JasperServer. Теперь я получаю сообщение об ошибке «PDF-кодировка не найдена» при попытке экспортировать отчет в формат PDF.

Чтобы решить эту проблему, мне пришлось скопировать iText-Asian.jar и Font-extension.jar в папку lib в контексте jasperserver. "JasperServer / WEB-INF / Lib". После этого перезапустите контекст и проблема решена.

Надеюсь, это кому-нибудь поможет.

Автор: dnaik Размещён: 08.03.2016 11:48

1 плюс

JRDesignStyle normalStyle = new JRDesignStyle();
        normalStyle.setName("tahoma");
        normalStyle.setDefault(true);
        normalStyle.setFontName("../tahoma_0.ttf");
        normalStyle.setPdfFontName("../tahoma_0.ttf");
        normalStyle.setPdfEncoding("Identity-H");
        normalStyle.setPdfEmbedded(true);
        .
        .
        jasperPrint.addStyle(normalStyle);
Автор: AminFarajzadeh Размещён: 25.02.2016 09:04
Вопросы из категории :
32x32