Problema ao executar JavaScript e chamar método no Bean

Galera, é o seguinte, estou usando uma function JS para fazer a impressão de um relatorio, porém para obter a informação do relatorio preciso executar um método no Bean, o que acontece é que o JS é executado antes do método Bean … Como posso fazer para o JS executar somente depois que o relatório estiver carregado ?

<p:commandButton value="Imprime" actionListener="#{vendaPlanosBean.imprimeRecibo}" ajax="false" icon="ui-icon ui-icon-print" update="formDados" rendered="#{vendaPlanosBean.saida.situacao eq 'F'}" onclick="modeloImpressora()"/>

[code]function modeloImpressora() {
var iRetorno = null;
PrinterNumber = parseInt(5);
iRetorno = BemaPrinter1.ConfiguraModeloImpressora(PrinterNumber);
alert("iRetorno: "+iRetorno);
if (iRetorno == -2)
alert(“Parâmetro inválido na função ConfiguraModeloImpressora.”);
else
BemaPrinter1.IniciaPorta(“USB”);
imprimeTextoSemFormatacao();
}

function imprimeTextoSemFormatacao() {
var imprime = document.getElementById(‘formDados:impressao’).innerHTML;
BemaPrinter1.FormataTX(imprime+" \n", 3, 0, 0, 0, 0);
BemaPrinter1.FormataTX(" \n", 3, 0, 0, 0, 0);
BemaPrinter1.FormataTX(" \n", 3, 0, 0, 0, 0);
BemaPrinter1.AcionaGuilhotina(1);// O= CORTE PARCIAL
// 1= CORTE TOTAL

Finaliza();			

}[/code]

Alguém saberia me dizer como faço para chamar o JS a partir de um método no Bean ?

Nao seria mais fácil e até melhor fazer isso em Java ao inves de fazer em javascript?

http://www.guj.com.br/16284-como-chamar-uma-function-js-a-partir-de-um-bean-jsf

ao invés de usar onclick=“modeloImpressora()” tente usar oncomplete=“modeloImpressora()”

isso deve resolver!

BemaPrinter1.FormataTX is not a function

Alguem saberia me dizer como resolver esse erro?