de txt para pdf

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

tonyx
Usuário Nível 3
Usuário Nível 3
Mensagens: 303
Registrado em: 07 Jul 2004 15:26

de txt para pdf

Mensagem por tonyx »

tenho siteminha ja transforma txt em rtf -

alguem tem dicas como por TXT para PDF

1 - usar um TXT2PDF.exe - mas tem para DOS e freeware ???
2- usar comandos de inicio e final dentro do TXT ???
3- usar createpdf com win32prn nao serve para os meus sistemas clipper
4- alguem tem algo simples

Detalhe: dentro do TXT tem caracteres graficos como - nome dentro retangulo
alt (167, 168, 169)

agradeco ajuda
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: de txt para pdf

Mensagem por gvc »

Então vc pode usar o NODOSIMP para imprimir em modo gráfico e jogar para o PDFCREATOR.

A versão gratuita não gera pdf, mas eu vi que a última (paga) gerava PDF sozinha.

Gere o arquivo texto e chame o NODOSIMP para imprimir o arquivo para o PDFCREATOR.
Acho que é o mais rápido para vc resolver o seu problema.

Boa sorte. Espero ter ajudado.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: de txt para pdf

Mensagem por sygecom »

Olá tonyx,
Pelo que lembro você já meche com xHarbour, então você mesmo pode ter um TXT2PDF.exe feito em xHarbour, só compilar o exemplo abaixo e chamar no seu sistema Clipper.

Código: Selecionar todos

*******************************
Function GERA_PDF(cARQ, vABRE )
*******************************
cText := memoread( cArq )
nLines := mlcount( cText, 150 )

cFileToSave := "nome_arq.PDF"  // nome do PDF

#ifdef __XHARBOUR__     // esse é para xHarbour
   Private AMSG := {}, CIMG
   set(105,1)
   set(106,1)

   vAUTOR=""
   PdfNew(cFileToSave,6,842,595,1,20,,,)  
   PdfStartPage( {vAUTOR} , .T. )
   HB_SETLANDSCAPE(.T.)

   for nA := 1 to nLines
      cLinha := memoline( cText, 150, nA, 1, .F. )

      Aadd(AMSG,cLinha)
   next

   PdfDrawPage( AMSG )
   PdfEndPage()
   PdfEnd()
#else  // esse é para Harbour
   Private page, height, width, def_font, font
   Private pdf := HPDF_New()

   if pdf == NIL
      alert( " Erro ao tentar gerar o Arquivo Pdf, Favor Tente novamente")
      Return("")
   endif

   /* set compression mode */
   HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )
   *HPDF_SetPassword(pdf, "senha","leonardo" )  // colocar senha no PDF

   page := HPDF_AddPage(pdf)
   height := HPDF_Page_GetHeight(page)
   width  := HPDF_Page_GetWidth(page)

   def_font := HPDF_GetFont( pdf, "Helvetica", NIL )
   HPDF_Page_BeginText( page )
   HPDF_Page_MoveTextPos( page, 10, height - 10 )

   vCONT=0
   for nA := 1 to nLines
      cLinha := memoline( cText, 150, nA, 1, .F. )
      font := HPDF_GetFont( pdf, "Courier" , NIL )
      HPDF_Page_SetFontAndSize( page, def_font, 7 )

      HPDF_Page_SetFontAndSize( page, font, 7 )
      HPDF_Page_ShowText( page, cLinha )
      HPDF_Page_MoveTextPos( page, 0, -10 )

      vCONT=vCONT+1
      IF vCONT=80
         page := HPDF_AddPage(pdf)
         HPDF_Page_SetLineWidth(page, 1)

         HPDF_Page_BeginText( page )
         HPDF_Page_MoveTextPos( page, 10, height - 10 )
         vCONT = 0
      ENDIF
   next

   HPDF_Page_EndText( page )
   HPDF_SaveToFile( pdf, cFileToSave )

   HPDF_Free( pdf )
#endif

IF vABRE="S"
   Abre_arquivo( cFileToSave )  // aqui dependendo já mando abrir o arquivo
ENDIF
Return
Obs: Para comiplar com xHarbour tem que ter a LIB: PDFLIB.LIB e para compilar com Harbour tem que ter as LIB's: hbhpdf.lib libhpdf.lib libpng.lib
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
PAULO S
Usuário Nível 3
Usuário Nível 3
Mensagens: 176
Registrado em: 24 Abr 2006 09:18
Localização: Santo Anastácio - SP

Re: de txt para pdf

Mensagem por PAULO S »

Olá Pessoal, boa tarde.
Tenho uma dúvida e se puderem me ajudar agradeço muito.
É o seguinte: já utilizo a impressão para USB, em clipper, através do Printer.EXE, e quando preciso de arquivo PDF uso o PDFCreator.
Gero o arquivo imprimindo pelo Printer tendo o PDFCreator como impressora padrão.
A dúvida é a seguinte: Sempre quando o arquivo PDF é criado surge uma janela solicitando que salve-o e o arquivo é aberto imediatamente a seguir.
Já procurei mas não encontrei uma maneira para que este arquivo seja salvo e abra automaticamente sem a necessidade de interagir com esta janela.
Isto é possível ? Como ?
Colegas se puderem me dar uma luz, agradeço desde já.
Paulo
Clipper 5.2d/NTX -> xHarbour/CDX
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: de txt para pdf

Mensagem por alxsts »

Olá!

[Paulo]:

Dê uma olhada no conteúdo deste link: http://www.downloadatoz.com/manual/pd/p ... ndline.htm

Tem um manual onde consta uma relação dos parâmetros de linha de comando do PDFCreator. Acho que usando uma opção ou combinando algumas você conseguirá o que deseja.
/NoStart
When you use the /PF parameter, PDFCreator stays open after it's done its task. The /NoStart parameter automatically closes PDFCreator after it is done.
Example: pdfcreator.exe /NOSTART /PF"C:help.doc"

/OpenOF
Open the output file after converting. This parameter can only be used in conjunction with the /IF and the /OF parameter.
Example: pdfcreator.exe /IF"C:description.ps" /OF"C:description.pdf" /OpenOF
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Dr.Microso
Usuário Nível 3
Usuário Nível 3
Mensagens: 173
Registrado em: 12 Jan 2009 21:26
Localização: Belo Horizonte, MG

Re: de txt para pdf

Mensagem por Dr.Microso »

Paulo, salve!

Nunca usei o PDFcreator, mas conheço uma alternativa que "cai como uma luva" para sua necessidade específica...
Paulo S escreveu:....uma maneira para que este arquivo seja salvo e abra automaticamente sem a necessidade de interagir com esta janela. Isto é possível? Como?
Use o software DOSprinter. É versátil e possui vários parâmetros interessantes... Indo direto para o aporte que deseja, considerando que possua uma arquivo de nome FORUM.TXT e queira converter em PDF seu uso é simples em linha de comando:

DOSprinter /PDF forum.txt

Há parâmetros adicionais que já mandam pra impressão. Aqui encontra um manual detalhado em português sobre...
http://sisgarbe.dyndns.org/versoes/fina ... rinter.pdf

E aqui a solução...
http://download.softpedia.ro/dl/20dc013 ... rinter.zip

Eis alguns dos tópicos que focam também o assunto...

https://pctoledo.org/forum/viewto ... ter#p46047
https://pctoledo.org/forum/viewto ... ter#p45784
https://pctoledo.org/forum/viewto ... rinter+pdf

Uso-o há um bom tempo e creio irá corresponder exatamente a necessidade que descreveu.
Boa Sorte!
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
Avatar do usuário
PAULO S
Usuário Nível 3
Usuário Nível 3
Mensagens: 176
Registrado em: 24 Abr 2006 09:18
Localização: Santo Anastácio - SP

Re: de txt para pdf

Mensagem por PAULO S »

Caros colegas,
Agradeço muito as sugestões, entretanto consegui resolver estudando as opções do PDFCreator.
Para quem precisar desta solução, utilizo a versão 0.9.5 em português.
Abrindo o software, no menu Impressora existe o item Opções, lá é preciso habilitar a opção de salvamento automático e depois de abertura do documento após o salvamento automático. Simples e prático.
Desta forma, mando imprimir qualquer relatório para o PDFCreator, este salva o documento e automaticamente me mostra na tela como um Preview e me possibilita imprimir em qualquer impressora instalada, além de possibilitar outras alternativas como envio por email, etc.
Abraços
:xau
Paulo
Clipper 5.2d/NTX -> xHarbour/CDX
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Re: de txt para pdf

Mensagem por rosalvo rosa »

Paulo, será que poderia postar um ex. de .prg para usar o printer.exe.
Se vc pudesse demonstrar como mudar de pág, escolher a fonte etc..

E como chamar o printer.exe no clipper...

Agradeceria sua ajuda..
Avatar do usuário
PAULO S
Usuário Nível 3
Usuário Nível 3
Mensagens: 176
Registrado em: 24 Abr 2006 09:18
Localização: Santo Anastácio - SP

Re: de txt para pdf

Mensagem por PAULO S »

Caro Rosalvo,
Primeiramente deve-se compilar o GERA.PRG e linkar o GERA.OBJ ao sistema.
Segue um pequeno exemplo da parte que diz respeito a impressão usando o Printer.exe

Código: Selecionar todos

zz=Printer_cr("WIN",1)                                           //Cria arquivo com os dados da impressão
Pr_fonte(zz,2)                                                       //Muda fonte
Pr_tam(zz,10)                                                       //Muda tamanho da fonte
Pr_negr(zz,"N")                                                     //Ativa negrito
Pr_texto(zz,10,300,"Texto a ser Impresso")           //Imprime texto
Pr_lin(zz,200,1,200,12000)                                   //Desenha uma linha horizontal
Pr_qua(zz,500,1,6000,10000)                               //Desenha um quadro
Pr_nova(zz)                                                         //Muda de página
Pr_fig(zz,1000,500,"C:\LOGO.GIF")                      //Imprime imagem na nova página
Pr_fecha(zz)                                                        //Fecha o arquivo e imprime
Segue anexado um arquivo com os comandos para utilizar o Printer.exe
Qualquer outro esclarecimento que puder dar, é só postar.
MANUAL.TXT
Relação de Comandos para usar o Printer.exe
(7.99 KiB) Baixado 666 vezes
Paulo
Clipper 5.2d/NTX -> xHarbour/CDX
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Re: de txt para pdf

Mensagem por rosalvo rosa »

Obrigado Paulo.

Vc poderia postar aqui o GERA.prg ? Fiz uma busca mas não encontrei.

Agradeço.


Rosalvo
Avatar do usuário
PAULO S
Usuário Nível 3
Usuário Nível 3
Mensagens: 176
Registrado em: 24 Abr 2006 09:18
Localização: Santo Anastácio - SP

Re: de txt para pdf

Mensagem por PAULO S »

Olá Rosalvo,

Vai então o Gera.prg em anexo.
Espero que consiga utilizar, ok ?
Qualquer dúvida é só postar.
Abraços
Anexos
GERA.PRG
Arquivo que deve ser compilado e linkado seu .OBJ ao sistema.
(15.15 KiB) Baixado 867 vezes
Paulo
Clipper 5.2d/NTX -> xHarbour/CDX
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Re: de txt para pdf

Mensagem por rosalvo rosa »

Paulo, obrigado pelo gera.prg.

Fiz este teste:

Código: Selecionar todos


procedure teste
zz=Printer_cr("WIN","1")
Pr_Texto(zz,01,02," linha um coluna dois")
Pr_Texto(zz,02,10," linha dois coluna dez")
For z:=1 to 4
   Pr_texto(zz,04+z,10," linha " + str(4+z))
Next

Pr_fecha(zz)
    
Return
Ele gera o arquivo IMPRESSO.IMP mas na hora de imprimir, na linha de comando
RUN PRINTER IMPRESSO.IMP
dá a MSG : comando ou nome de arquivo inválido.

Estou linkando com o RTLink. Será que falta uma Lib ou coisa assim ?

Se puder ajudar, agradeço.

Um abraço.
Avatar do usuário
PAULO S
Usuário Nível 3
Usuário Nível 3
Mensagens: 176
Registrado em: 24 Abr 2006 09:18
Localização: Santo Anastácio - SP

Re: de txt para pdf

Mensagem por PAULO S »

Caro Rosalvo,
Está quase tudo correto, exceto que não há a necessidade de chamar a execução do Printer.exe, porque o comando pr_cr cria o arquivo de impressão e o comando pr_fecha manda imprimir.
Outra coisa, quando trabalha no modo Windows as posições de impressão são em pixels, não em linha e coluna.
Experimente compilar o seguinte teste, usando a sua idéia:

Código: Selecionar todos

set talk off
set score off
zz=Printer_cr("WIN","1")
Pr_Texto(zz,1,1," linha um coluna 1")
Pr_Texto(zz,200,1," linha 200")
lin=400
do while lin<=1000
   Pr_texto(zz,lin,1," linha " + str(lin))
   lin=lin+200
enddo
Pr_fecha(zz)
return
Não esqueça de linkar com o Gera.obj
Acho que dá para ter uma idéia de como funciona.
Qualquer coisa é só postar.
Abraços
Paulo
Clipper 5.2d/NTX -> xHarbour/CDX
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Re: de txt para pdf

Mensagem por rosalvo rosa »

Olá Paulo!

Paulo citou:
Caro Rosalvo,
Está quase tudo correto, exceto que não há a necessidade de chamar a execução do Printer.exe,
No exemplo que postei, eu não estou chamando a execução do Printer.exe, o que acontece é quando a função
Pr_fecha executa a linha "run printer impresso.imp" dá a msg que falei.

Eu tentei encontrar o printer.exe na internet, mas ele está associado a um vírus. E sem ele não funciona.
Vc poderia postar aqui o printer.exe para podermos completar este modo de impressão ?

Um abraço.

Rosalvo
Avatar do usuário
PAULO S
Usuário Nível 3
Usuário Nível 3
Mensagens: 176
Registrado em: 24 Abr 2006 09:18
Localização: Santo Anastácio - SP

Re: de txt para pdf

Mensagem por PAULO S »

Caro Rosalvo,

Então acho que o problema está no Printer.exe, segue o arquivo em anexo.
Uso na mesma pasta do arquivo Impresso.imp.
Abraços,
Anexos
Printer.zip
(8.71 KiB) Baixado 761 vezes
Paulo
Clipper 5.2d/NTX -> xHarbour/CDX
Responder