De uma olhada neste QRP, ele imprime cheque do BB em impressora HP Deskjet e 
para Laser seria um processo parecido.
O único incomodo, que encontrei com esse tipo de relatório é quando muda a 
tipo/marca da impressora, pois o inicio da impressão muda em alguns milímetros 
e desalinha o relatório

Mas mesmo assim, aqui funciona bem, agora caso você esteja usando impressora 
matricial, seria melhor você enviar os dados direto para a porta LPT, sem o uso 
de QRP. Abaixo tem um exemplo de como faço isso aqui:

If SalFileOpen( hPorta, p_sPorta, OF_Create | OF_Write )
        Call SalFilePutStr( hPorta, SalNumberToChar( 02 ) || 'L' )
        Call SalFilePutStr( hPorta, 'H20' )
        Call SalFilePutStr( hPorta, 'D11' )
        Call SalFilePutStr( hPorta, 'E' )
        !
        While SalTblFindNextRow( tblImprimeEtiquetas, nLinha, 0, 0 )
                Call SalTblSetFocusRow( tblImprimeEtiquetas, nLinha )
                !
                Call SalFilePutStr( hPorta, SalNumberToChar( 02 ) || 'L' )
                Call SalFilePutStr( hPorta, 'H20' )
                Call SalFilePutStr( hPorta, 'D11' )
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colSubTitulo_01 
)
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colSubTitulo_02 
)
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colSubTitulo_03 
)
                !
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colTitulo_01 )
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colTitulo_02 )
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colTitulo_03 )
                !
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colCodigo_01 )
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colCodigo_02 )
                Call SalFilePutStr( hPorta, tblImprimeEtiquetas.colCodigo_03 )
                Call SalFilePutStr( hPorta, 'E' )
        !
        Call SalFileClose( hPorta )

Attachment: cheques_bb.qrp
Description: cheques_bb.qrp

Responder a