Enviado: 18 Dez 2007 21:40
Tem sim.
Eu uso o PDFCreator 0.7.1.
Se não me engano também pode ser gravado em arquivo DOC.
Eu uso o PDFCreator 0.7.1.
Se não me engano também pode ser gravado em arquivo DOC.
Se vc deseja para um WORD por exemplo, vc nem prescissa usar a WIN32PRN, pode usar via OLE no sessão codigo fonte tem um exemplo simples, qualquer coisa posso postar mais exemplos.Dércio_Luiz_Zanatta escreveu:Tem como imprimir para arquivo usando o win32prn ?
Senão, Tem outro jeito ?
Leo , pode postar que estou estudando uma maneira de imprimir para arquivo , só não sei qual seria mais rapido e eficiente PDF .or. Wordsygecom escreveu:Se vc deseja para um WORD por exemplo, vc nem prescissa usar a WIN32PRN, pode usar via OLE no sessão codigo fonte tem um exemplo simples, qualquer coisa posso postar mais exemplos.Dércio_Luiz_Zanatta escreveu:Tem como imprimir para arquivo usando o win32prn ?
Senão, Tem outro jeito ?
Abraços
Leonardo Machado
Código: Selecionar todos
*****************************
PROCEDURE Abre_word(cARQ,IMP)
*****************************
LOCAL oWord, oText, oDoc
IF IMP=Nil
IMP="N"
endif
MsgRun("Aguarde Gerando Documento de Word...")
GERAFILE() // gera um nome para arq. temporario
vARQ:={}
aadd( vARQ, {"LINHA","C",200,0} )
DBcreate(cFILE, vARQ,"DBFCDX")
SELE 999
USE (cFILE) alias gera_ole EXCL new VIA "DBFCDX"// ALIAS tela shared NEW
append from (cARQ) sdf && nome completo do arquivo sdf
TRY
oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
oWord := CreateObject( "Word.Application" )
CATCH
MsgStop("Não foi Possivel Achar o Word Instalado","Aviso do Sistema")
RETURN
END
END
IF !FILE(cARQ)
MsgStop("Não Foi possivel Abrir o Documento de Word")
RETURN
ENDIF
oWord:Documents:Add()
oText := oWord:Selection()
Sele gera_ole
dbgotop()
Do while !eof()
cLinha := Linha // Busca linha de impressao
oText:Font:Name := "Lucida Console"
oText:Font:Size := 8
oText:Font:Bold := .F.
oText:Text+= cLinha + CRLF
dbskip()
enddo
IF IMP="N"
oWord:Visible := .T. //PARA VISUALIZAR OU NÃO ANTES
oWord:WindowState := 1 // Maximize
ENDIF
IF IMP="S"
oWord:Visible := .F. //PARA VISUALIZAR OU NÃO ANTES
oWord:PrintOut() //PARA IMPRIMIR DIRETO
ENDIF
RETURN
Sugestão: em se tratando de uma atualização que dispensa o código anterior, já que é algo grande, edite sua primeira mensagem, apagando o código postado e talvez inserindo um link para a mensagem que tem o código mais novo. Assim damos uma força pro nosso colega Toledo.Hasse escreveu:Postei o código completo novamente para facilitar o trabalho daqueles que desejarem "copiar" e "colar".
Conforme tua sugestão, fiz as alterações propostas. Não entendi bem o espírito da questão, porém tenho certeza que você deve saber como isto acontece e funciona, pois para mim o tamanho total ficou igual.Maligno escreveu: Sugestão: em se tratando de uma atualização que dispensa o código anterior, já que é algo grande, edite sua primeira mensagem, apagando o código postado e talvez inserindo um link para a mensagem que tem o código mais novo. Assim damos uma força pro nosso colega Toledo.
sygecom escreveu:Eder, na HWGUI eu tentaria algo assim:
************************
FUNC PrintBitMap( oPrn ) //função para imprimir imagem do logotipo
************************
LOCAL oBMP
PRIVATE oBmp1 := HBitmap():AddResource("ID_RES")
oBMP:= Win32BMP():new()
oBmp:loadFile( oBmp1 )
oBmp:Draw( oPrn, { 200,200,500,500 } )
oBMP:Destroy()
RETURN