Pergunta

Eu estou tentando gerar relatório com DynamicJasper, mas eu estou recebendo o seguinte erro:

net.sf.jasperreports.engine.util.JRFontNotFoundException:  
                                 Font 'Arial' is not available to the JVM.   

msttcorefonts está instalado, mas eu acho que a JVM não está usando os tipos de letra a partir do mesmo.

Eu estou usando o Ubuntu 10.04.

Como posso corrigir isso?

Foi útil?

Solução

Tentei instalar o MSCoreFonts, mas o pacote foi instalado e atualizado.

sudo apt-get update
sudo apt-get install ttf-mscorefonts-installer

Tentei procurar a fonte no sistema de arquivos, com:

ls /usr/share/fonts/truetype/msttcorefonts/

Essa pasta apenas tinha o ReadMe, com as instruções corretas sobre como instalar.

cat /usr/share/fonts/truetype/msttcorefonts/README

Você precisa de uma conexão com a Internet para isso:

sudo apt-get install --reinstall ttf-mscorefonts-installer

Eu reinstalei ttf-mscorefonts-installer (Como mostrado acima, certifique -se de aceitar o Euula!) E o problema foi resolvido.

Outras dicas

JasperReports levanta uma JRFontNotFoundException no caso em que o tipo de letra usado dentro de um modelo de relatório não está disponível para a JVM como como uma fonte de sistema ou uma fonte proveniente de um JR fonte de extensão.Esse assegurar que todos os problemas causados por métricas de fonte de inadequações são evitados e temos um aviso antecipado sobre a inconsistência.

Jasper reports está tentando ajudar a você em seu relatório de desenvolvimento, afirmando que ele não pode exportar seu relatório corretamente, pois não pode encontrar o tipo de letra definido no TextField ou StaticText

<font fontName="Arial"/>

Sim, você pode desativar isso definindo líquida.sf.jasperreports.awt.ignorar.faltando.fonte a verdade, mas você vai ter exportação de inconsistências.

Sim, você pode instalar o tipo de letra como JVM de fontes do sistema (mas você precisa fazê-lo em cada PC usado que pode gerar relatório e você ainda pode ter problemas de codificação).

A maneira correta!

Utilização Fonte Extensões!, se você gosta de criar seus próprios (ver link abaixo), jasper reports também distribui um tipo de letra predefinido-extensão jar (jasperreports-fonts-x.x.x.jar), que suporta nomedafonte DejaVu Sans, DejaVu Serif e DejaVu Sans Mono

<font fontName="DejaVu Sans"/>

A partir do JasperReport Ultimate Guide:

Nós encorajamos as pessoas a usar apenas fontes derivada da fonte as extensões, porque esta é a única maneira de se certificar de que os tipos de letra estará disponível para o aplicativo quando os relatórios são executados em o tempo de execução.Usando o sistema de tipos de letra traz sempre o risco de que os relatórios não para funcionar correctamente, quando implantado em uma nova máquina que não pode ter estes tipos de letra instalados

Links no StackOverflow sobre como renderizar fontes corretamente em pdf

Lista de verificação sobre como tornar a fonte corretamente em pdf

Gerar fonte de extensões com o JasperSoft Studio

Gerar font-extensões com iReport

Eu uso o iReport para instalar a fonte:

Ferramentas -> Opções -> Fontes -> Clique em Instalar Fonte

Em seguida, selecione a fonte e clique

-> Exportar como extensão e tipo de nome myfont.jar

Adicione este frasco e também primavera.jar* para o seu caminho de construção.

*Copiar Spring.jar de Jaspersoft Ireport-3.7.0 Ireport Modules ext

Para o CentOS:

wget msttcoreFonts

Então:

tar -zxvf msttcorefonts.tar.gz
cp msttcorefonts/*.ttf  /usr/share/fonts/TTF/
fc-cache -fv 

Afinal, reinicie a JVM.

sudo apt-get install msttcorefonts Trabalhos (em nosso ambiente de desenvolvimento do Ubuntu), mas não é uma solução muito boa.

Em vez disso, nós empacotou as fontes com nosso aplicativo baseado em esta dica. O arquivo de jar empacota as seguintes fontes,

  • Arial
  • Times New Roman
  • Courier novo
  • Comic Sans MS
  • Geórgia
  • Verdana
  • Monospaced

Link direto para download jar:Maven ver 1.0. DynamicFonts

Existem três métodos para evitar esse problema.

Método 1: Ao definir a propriedade Ignore Font Font.

JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");

Ou você pode definir essa propriedade inserindo a linha seguinte no arquivo .jrxml.

<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>

Método 2: Configurando a propriedade padrão da fonte.

JRProperties.setProperty("net.sf.jasperreports.default.font.name", "Sans Serif");

Ou você pode definir essa propriedade inserindo a linha seguinte no arquivo .jrxml.

<property name="net.sf.jasperreports.default.font.name" value="Sans Serif"/>

Método 3: Adicionando a propriedade Font ausente.

Primeiramente, instale as fontes ausentes no IRORT, selecionando "Ferramentas >> Opções >> Fontes >> Instale a font" e selecione a fonte All e exportá -la clicando em "Exportar como extensão" com a extensão .jar.

Você pode usar esse frasco para jasperreports-font.xxxjar, que estará presente na biblioteca ou no caminho do projeto.

Eu resolvi isso escolhendo 'Sansserif' ou 'serif' apenas e não 'arial' ou 'Times New Roman'.

pode fazer suas fontes personalizadas via iReport e converter arquivos de frascos

Tente adicionar a linha

net.sf.jasperreports.awt.ignore.missing.font = true

para o seu arquivo jasperreports.properties.

Jasper para de encontrar uma fonte

Você pode fazer isso instalando fontes, isso significa que todos os lugares você deseja executar esse aplicativo específico. A maneira mais simples é apenas adicionar esta linha BL ao seu arquivo jrxml:

 <property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>

Espero que ajude.

Eu enfrentei o problema com meu aplicativo da web com base na primavera 3 e implantado no WebLogic 10.3 no Oracle Linux 6. A solução mencionada no link não funcionou para mim.

Eu tive que tomar as seguintes etapas - 1. Copie os arquivos de fontes Arial*.ttf para jrockit_java_home/jre/lib/fonts diretório 2. Faça entradas das fontes em Fontconfig.properties.src 3. Reinicie o aglomerado do console weblogic

filename.Arial=Arial.ttf
filename.Arial_Bold=Arial_Bold.ttf
filename.Arial_Italic=Arial_Italic.ttf
filename.Arial_Bold_Italic=Arial_Bold_Italic.ttf

Para Debian

adicionar

non-free contrib

Para Deb e Deb-Src em /etc/apt/sources.list IE:

deb http://ftp.debian.org/debian/ squeeze main non-free contrib
deb-src http://ftp.debian.org/debian/ squeeze main non-free contrib

Então

apt-get update
apt-get install msttcorefonts

Claro que você precisará reiniciar o Jasperserver. ou seja:

/opt/jasperreports-server-cp-4.5.0/ctlscript.sh restart

Altere para sua versão / caminho.

Crie relatório Jasper em vários idiomas (Unicode)

1) Instale a fonte em Ireport Desginer

2) Crie extensão da fonte (nós a usaremos no Applications ClassPath)

3) Instale a fonte no sistema operacional (opcional)

4) Cole todo

Se você estiver usando o MAVEN em seu projeto, basta adicionar a dependência Jasper-font ao pom.xml:

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports-fonts</artifactId>
    <version>6.8.1</version>
</dependency>

Instalando a fonte ausente no sistema pode ser uma solução de trabalho, mas não para mim, eu não queria instalar as fontes ausentes após cada implantação em um novo servidor; em vez disso, optei por incorporar a fonte com o aplicativo.

Cumprimentos.

Na verdade, corrigi esse problema de uma maneira muito simples

  1. vá para sua home path, Curti /root
  2. Crie uma pasta chamada .fonts
  3. copie seu all your font files para .fonts, você pode copiar a fonte de C:\windows\fonts Se você usa o Windows.
  4. sudo apt-get install fontconfig
  5. fc-cache –fv Para reconstruir fontes de caches.

Solução em 2 etapas (se você estiver usando o CentOS)

  1. Faça o download do pacote RPM do Microsoft Core Fonts.

    [root@WEBSVR~/]# wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm
    
  2. Instale o pacote RPM.

    [root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm
    

Copie suas fontes no seguinte diretório jdk_home jre lib fontes

Ei, tendo problemas para visualizar documentos produzidos no Windows?

Você pode tentar uma solução fina fácil:

yum install Curl CABEXTRATE XORG-X11-FONT-UTILS FONTCONFIG

rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Depois disso, preciso reiniciar meu sistema CentOS6.

Fonte: http://mscorefonts2.sourceforge.net/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top