Olá Pessoal, tudo bom? Como vão vocês?
Em 2011 eu fiz um Post sobre um problema comum a muitos desenvolvedores sobre embeber uma fonte personalizada em relatórios JasperReports.
Agora, vamos usar o Jaspersoft® Studio para realizar a mesma tarefa.
Para acompanhar este artigo
Criei um banco de dados simples, com uma tabela chamada produtos, contendo os campos selecionados como mostra a Figura 1.
O relatório foi criado usando o assistente do Jaspersoft® Studio, onde o resultado final, após minhas pequenas alterações, é o que mostra a Figura 2.
Tenham em mente que este artigo não vai ensiná-los a criar relatórios e sim como contornar um problema comum entre os desenvolvedores Java. Farei posts adiante sobre como criar relatórios com Jaspersoft® Studio.
Trabalhando com fontes personalizadas no relatório
Após desenhar o relatório, chega o momento de finalizar a “arte” com alguns toques e, em meio as mudanças, eis que surge a ideia de personalizar a fonte também do texto contido no relatório.
No exemplo que fiz, os textos fixos foram todos personalizados com uma fonte que possuo em minha máquina, chamada Impact.
Embora esta fonte seja importante para o design do meu relatório, não tenho garantias que ela exista no servidor onde hospedo meus aplicativos. Logo, o que parece simples, pode se tornar um pesadelo se não for eu o responsável pela administração do sistema operacional.
Adicionando a fonte ao aplicativo
Graças ao problema de ausência de fontes em servidores de hospedagem, muitos desenvolvedores não podiam depender da empresa ou administrador que fornece a máquina onde disponibilizam se encontram aplicativos, principalmente quando se trata de uma hospedagem compartilhada. É nisto que o JasperReports inclui a possibilidade de ter todas as fontes que usou em seu relatório em produção.
Adicionando e exportando a fonte no Jaspersoft® Studio
Vá no menu Window > Preferences (menu Jasper Studio >Preferences no Mac OS X) e, na digite Fonts, na parte superior de pesquisa. Clique em Jaspersoft Studio>Fonts.
Através do botão Add selecionamos as fontes que desejamos importar no Jaspersoft® Studio.
Depois de importadas, podemos selecionar todas elas e exportá-las através do botão Export.
No exemplo que explico, chamei o arquivo que exportei de font.jar. É justamente este arquivo que vou adicionar em meu projeto, seja usando o Maven, no Eclipse IDE ou NetBeans IDE.
A fonte como uma biblioteca no seu aplicativo Web pelo Eclipse IDE
No Eclipse, basta clicar com o direito do mouse sobre o projeto, selecionar o item Properties. Na caixa de diálogo Properties, vamos em Java Build Path, na aba Libraries. Para adicionarmos a biblioteca font.jar, vamos no botão Add External JARs.
Para projetos Java EE no Eclipse IDE, adicione as bibliotecas do projeto no aplicativo Web. Este item está na janela Properties, em Deployment Assembly. É neste local que determinamos quais bibliotecas serão exportadas ao executarmos o servidor Java.
Siga os passos informados a seguir para adicionar as bibliotecas:
1. Clique no botão Add, a caixa de diálogo New Assembly Directive surge. Esta caixa de diálogo é a responsável por selecionarmos as bibliotecas do projeto em Java Build Path Entries.
2. Em Next, veremos todas as bibliotecas que dispomos em Java Build Path. Selecionem todas – as bibliotecas para executar o relatório JasperReports devem estar presentes – finalizando no botão Finish.
3. Retornando ao diálogo Properties, no item Deployment Assembly, temos todas as bibliotecas que serão adicionadas ao diretório lib do projeto, incluindo font.jar.
A fonte como uma biblioteca no seu aplicativo Web pelo NetBeans IDE
No NetBeans IDE, basta adicionar em Libraries, clicando com o direito do mouse e selecionando, no menu de contexto, o item Add JAR / Folder.
Antes e depois da fonte adicionada ao projeto
Para satisfazer a curiosidade do que será visto, temos a Figura 8 que mostra um relatório gerado, em formato PDF, sem a fonte no diretório lib do projeto. Note a diferença com a Figura 9 em relação ao formato da fonte, principalmente do título “Produtos”.
O projeto para download
Clique aqui para baixar o projeto em Eclipse e alterá-lo como desejar.