Página 1 de 1
Problemas com Impressão No WordView !!
Enviado: 28 Mar 2008 21:40
por Cezar
Boa Noite,
Gerei o relatorio num arquivo .RTF para ser visualizado e impresso no WordView.
O WordView mostra o relatorio sem problemas, mas quando mando imprimir mostra a seguinte mensagem:
As margens da seção 1 estão definidas fora da area de impressão da pagina.
Deseja Cintinuar ?
Se mando imprimir assim mesmo, sai lixo, todo truncado.
Que comandos dentro do Arquivo.RTF devo colocar para formatar o relatorio dentro do padrao de paginas e impressão??
Obs: este relatorio devera ser impresso tanto numa jato de tinta, quanto numa matricial.
Desde ja agradeço.
cez_a@ubbi.com.br
Enviado: 28 Mar 2008 23:54
por sygecom
Cezar, opcionalmente você pode gerar Arquivo .DOC via OLE com recursos do proprio Word. Na pasta "\xharbour\tests\" tem um exemplo que vc pode compilar "testole.prg"
Enviado: 31 Mar 2008 00:00
por Cezar
Boa noite,
Sygecom, usei testole.prg e deu certo, o unico problema é que o arquivo.txt gerado pelo set printer to "teste.txt" tem 132 colunas, na matricial é impresso condensado, quando abre no Word ele quebra as linhas.
Os comandos oWord:Documents:Open(..), onde se poderia achar a relação desses, que sabe da programar a largura do texto no Word?
Tentei compilar um outro prg do \xharbour\tests\rtfclass.prg e reclamou da falta das funcoes HB_Use(), HB_FreadLn, etc...
Voce sabe de que bibioteca elas fazem parte???
Agradeço a ajuda!!!
cez_a@ubbi.com.br
Enviado: 31 Mar 2008 01:00
por sygecom
Olá Cezar,
Cezar escreveu:
Sygecom, usei testole.prg e deu certo, o unico problema é que o arquivo.txt gerado pelo set printer to "teste.txt" tem 132 colunas, na matricial é impresso condensado, quando abre no Word ele quebra as linhas.
Os comandos oWord:Documents:Open(..), onde se poderia achar a relação desses, que sabe da programar a largura do texto no Word?
Abaixo um pequeno exemplo de como usar 132 colunas via ole no Word. com Fonte 8.
Código: Selecionar todos
*****************************
PROCEDURE Abre_word(cARQ,IMP)
*****************************
LOCAL oWord, oText, oDoc
IF IMP=Nil
IMP="N"
endif
IF !FILE(cARQ)
MsgStop("Não Foi possivel Abrir o Documento de Word")
RETURN
ENDIF
GERAFILE() // nome temporario
vARQ:={}
aadd( vARQ, {"LINHA","C",200,0} )
DBcreate(cFILE, vARQ,"DBFCDX")
SELE 999
USE (cFILE) alias gera_ole EXCL new VIA "DBFCDX"
append from (cARQ) sdf // nome completo do arquivo txt
TRY
oWord := GetActiveObject( "Word.Application" )
CATCH e
TRY
oWord := CreateObject( "Word.Application" )
CATCH e
MsgStop("Não foi Possivel Achar o Word Instalado","Aviso do Sistema")
RETURN
END
END
oWord:Documents:Add()
oText := oWord:Selection()
Sele gera_ole
dbgotop()
Do while !eof()
cLinha := Linha
oText:Font:Name := "Lucida Console"
oText:Font:Size := 8
oText:Font:Bold := .F.
oText:Text+= cLinha + HB_OsNewLine()
dbskip()
enddo
IF IMP="N"
oWord:Visible := .T. //PARA VISUALIZAR OU NÃO ANTES
oWord:WindowState := 1 // Pagina que deve iniciar
ENDIF
IF IMP="S"
oWord:Visible := .F. //PARA VISUALIZAR OU NÃO ANTES
oWord:PrintOut() //PARA IMPRIMIR DIRETO
ENDIF
RETURN
Para pegar os comandos que vc pode usar via OLE, abra um WORD e tecle ALT + F11 e desvende os comandos que pode usar via ole ou pegue o HELP do Visual Basic, que tem lah também.
Tentei compilar um outro prg do \xharbour\tests\rtfclass.prg e reclamou da falta das funcoes HB_Use(), HB_FreadLn, etc...
Voce sabe de que bibioteca elas fazem parte???
Use o hbmake e marque duas Lib's "harbour.lib" e "libmisc.lib" que vai conpilar sem erro, se vc não uso o BCC como compilador, ai deve dar uma lida na observação que esta no topo do .PRG.
Abraços
Leonardo Machado
Enviado: 02 Abr 2008 14:46
por Cezar
Ola Sygecom,
Com os seus esclarecimentos, ja estou gerando os relatórios, aprendi bastante.
Como tenho, muitos relatórios, alguns bem complexos, tambem estou analisando a possibilidade de usar o PDFLIB !
E ja postei duvidas ( rsrsrs..)
Abracos,
cez_a@ubbi.com.br