Pergunta

Eu uso BIRT desde os primeiros dias e ainda tem enigmas a respeito emissor PDF.

Breve história : Posso configurar fontsConfig.xml a fontes de carga de caminho relativo ou de jarros?

É uma longa história: Estamos usando tanto FOP e BIRT para a geração de PDF em nossa aplicação web. Seria bom para fontes de acções entre bibliotecas. Infelizmente, não consigo encontrar uma maneira de fazê-lo com BIRT 2.3.1

A raiz do mal é fontsConfig.xml Se eu configurá-lo como mostrado abaixo, funciona bem:

<font-paths>
<path path="fonts"/>
</font-paths>

Mas o caminho não me permite usar caminhos nem relativos não classpath (ou eu não consigo encontrar uma forma adequada como configurá-lo). Nem config1 nem config2 obras.

config1:

<font-paths>
<path path="../fonts"/>
</font-paths>

config2:

<font-paths>
<path path="classpath:fonts"/>
</font-paths>

Todos os pensamentos será apreciado.

Foi útil?

Solução

Com algumas versões BIRT, você pode usar um SystemProperty "birt.font.dirs". Isso substitui o fontsConfig.xml.

Bem, desta vez funcionou, mas, obviamente, ele foi removido a partir do código fonte BIRT mais tarde.

Agora você pode chamar algo como

EngineConfig engineConfig = new EngineConfig();
URL fontsConfigurationURL = new URL("file:///path/to/my/fontsConfig.xml");
engineConfig.setFontConfig(fontsConfigurationURL);

Platform.startup(engineConfig);

Isso permite que você fornecer BIRT com uma versão personalizada do fontsConfig.xml sem bisbilhotando nos JARs.

Testado com BIRT 4.3.0.

Outras dicas

Existe uma maneira de ter fontes em um caminho relativo para ser usado em Birt.

O que você precisa fazer é copiar as fontes para um local em sua aplicação web. O meu era em: C: \\ src \ main \ webapp \ Relatórios

Agora, no aplicativo, use o seguinte comando para registrar as fontes da localização acima mencionado.

FontFactory.registerDirectory( scContext.getRealPath("/Reports") );

Isto irá registrar a fonte.

Testado em Birt 4.3 através Spring MVC

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