Página 2 de 8

Enviado: 18 Dez 2007 21:40
por Hasse
Tem sim.
Eu uso o PDFCreator 0.7.1.
Se não me engano também pode ser gravado em arquivo DOC.

Enviado: 19 Dez 2007 09:52
por sygecom
Dércio_Luiz_Zanatta escreveu:Tem como imprimir para arquivo usando o win32prn ?
Senão, Tem outro jeito ?
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.

Abraços
Leonardo Machado

Enviado: 28 Dez 2007 11:15
por ederxc
sygecom escreveu:
Dércio_Luiz_Zanatta escreveu:Tem como imprimir para arquivo usando o win32prn ?
Senão, Tem outro jeito ?
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.

Abraços
Leonardo Machado
Leo , pode postar que estou estudando uma maneira de imprimir para arquivo , só não sei qual seria mais rapido e eficiente PDF .or. Word

Enviado: 28 Dez 2007 16:47
por sygecom

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
Obs: o TRY e CATCH é valido somente para xHarbour.

duvida

Enviado: 30 Dez 2007 20:30
por lindinaldo
comecei a usar o win32prn, mas quando uso impressoras lx300 elas
nao obedecem a margim na segunda folha quando e uma nova impressao ela vai decendo..

pode me ajudar...



LIndinaldo

Enviado: 30 Dez 2007 21:36
por sygecom
Claro que todos podem tentar lhe ajudar, mas para isso post o codigo de como esta usando.

Enviado: 06 Jan 2008 21:13
por Hasse
O código (PRG) do início foi alterado. Lá acrescentei a impressão de imagens, conforme sugestão do colega Maligno.

Vejam:
https://pctoledo.org/forum/viewto ... sc&start=0

Enviado: 25 Jan 2008 14:47
por ederxc
Boa tarde !

Seria possivel , imprimir um BMP que esteja contido em um arquivo .RC ou RES ??

Enviado: 25 Jan 2008 15:01
por sygecom
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

Enviado: 25 Jan 2008 18:03
por Maligno
Hasse escreveu:Postei o código completo novamente para facilitar o trabalho daqueles que desejarem "copiar" e "colar".
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.

Enviado: 26 Jan 2008 14:12
por Hasse
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.
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.

Enviado: 26 Jan 2008 14:49
por Maligno
Ah, não. Você entendeu errado. Eu não sugeri criar um novo tópico para postar o código mais novo. Sugeri que você editasse sua primeira mensagem nesse tópico aqui, apagando-o se for desnecessário, a fim de economizar o espaço em disco que o Toledo paga.

Enviado: 26 Jan 2008 16:39
por Hasse
OOOOPPPPPPSSSSS !!!!! Foi mal. Perdão.

Agora entendi. E já providenciado.

Enviado: 26 Jan 2008 17:55
por Maligno
Beleza pura! Thanks. :)

Aliás, aproveitando o ensejo, quero sugerir ao Toledo a criação de uma seção de código fonte apenas para XHarbour. Seria bem mais prático. Todos os fontes seriam lá depositados, o que, creio eu, facilitaria até a pesquisa. Na discussão normal apenas se faria uma referência ao fonte na outra seção.

Enviado: 28 Jan 2008 08:11
por ederxc
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

Interessante Sr. Machado ! ;)