Apache poi na geração de power point , com bullet (char)216 fonte Wingdings

4 respostas
C

Fala galera , por favor preciso de ajuda.
Tem uma funcionalidade , na aplicação para geração de power point dinâmico , usando api poi versão 3.2 , que está funcionando normalmente , com o bullet \u2022 (aquele ponto(.) simples usando para marcação de cada ítem do texto)
Apareceu um requisito novo , para trocar o marcador (bullet) de ponto(\u2022) fonte Arial Narrow para a seta ((char) 216) fonte Wingdings , cada ítem do texto deve continuar com a fonte Arial Narrow.
Segue abaixo trecho de código , modificado sem sucesso , com o objetivo de alterar o marcador de cada ítem.

public static final String FONTE = Arial Narrow;

public static void formataTextoComMarcadorBullet(TextBox descricao) {

RichTextRun rt = descricao.getTextRun().getRichTextRuns()[0];

rt.setBullet(true);

rt.setBulletOffset(0);

rt.setTextOffset(50);

rt.setBulletChar((char)216);

/**o objetivo aqui é mudar a fonte do bullet ,

testei sem sucesso também:

rt.setBulletFont(PPFont.WINGDINGS.getCharSet());

rt.setBulletFont(PPFont.WINGDINGS.getFontFlags());

rt.setBulletFont(PPFont.WINGDINGS.getFontType());

*/

rt.setBulletFont(Font.getFamilyIndex(PPFont.WINGDINGS.getFontName()));

formataFonteDescricaoNegrito(descricao, 14);

}
public static void formataFonteDescricaoNegrito(TextBox descricao, int size) {
	RichTextRun rt = descricao.getTextRun().getRichTextRuns()[0];
	rt.setFontSize(size);
	rt.setFontName(FONTE);
	rt.setBold(true);
	rt.setAlignment(TextBox.AlignLeft);
}

Por favor , alguém pode me ajudar ?
Olhei o javadoc do método setBulletFont na documentação do poi , mas não me ajudou muito.

4 Respostas

C

Conseultei novamente How to na página da jakarta , mas não ajudou.

[url]http://poi.apache.org/slideshow/how-to-shapes.html#Bullets

C

Fiz o teste com a versão 3.5 do apache poi , mas não tive sucesso , usando o mesmo código.

E

Eu recomendaria, já que você precisa entregar isso rápido, usar a seta matemática U+2192 (ou seja, “\u2192”) que existe no Arial Narrow.

C

Muito obrigado pela ajuda.
Na verdade a funcionalidade de geração de ppt já está em produção usando \u2022 (ponto) , os usuários sempre editam e colocam o char(216) fonte Wingdings ,inclusive o documento é impresso encadernado e distribuído com esse padrão por isso estou com essa demanda e infelizmente preciso mudar.
Alguém sabe como posso fazer isso usando api poi?

Criado 6 de outubro de 2009
Ultima resposta 6 de out. de 2009
Respostas 4
Participantes 2