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