Conversão de arquivo texto para PDF - quebra de página

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
FARLEY RIBEIRO
Usuário Nível 2
Usuário Nível 2
Mensagens: 89
Registrado em: 24 Jul 2007 10:26
Localização: MONTES CLAROS-MG

Conversão de arquivo texto para PDF - quebra de página

Mensagem por FARLEY RIBEIRO »

Olá colegas..

estou precisando converter um arquivo texto para PDF.. mas no momento da quebra da página está dando errado...
foram usados os arquivos do contrib do xharbour...
o arquivo texto possue pagina com mais ou menos 62 linhas...

#include "inkey.ch"
#define CR chr(13)
#define LF chr(10)

function main
parameters arqtexto_

local ahead := {" "," ","SIAC",PADC("Alfa Automa‡Æo Comercial", 80)," "," "} // {"....","....."} cabeçalho
Local aData :={}, handle, primeira_linha, var_imp, arquivo, arq_, n

arq_ := netname() + ".pdf" // nome do arquivo pdf a ser gerado
arquivo = arqtexto_ // arquivo texto a ser importado
primeira_linha := .t.

* Cria documento
pdfNew(arq_, 6, 842, 595, 1, 1,,, {"Siac","Siac","Siac","Siac","Siac"} )

// Inicializa a pagina...
pdfstartpage(ahead,.t.)

// leitura do arquivo texto e tratamento do mesmo...
handle := fopen(arquivo)
if ferror() <> 0
return .f.
endif

var_imp = ''
do while freadln(handle,@var_imp,512)
if substr(var_imp, 7, 5) = "EJECT" // linha para identificar salto pagina
pdfdrawpage(aData)
pdfstartpage(ahead,.t.) // não começa na primeira linha da nova pagina
aData := {}
var_imp := ''
primeira_linha = .t.
loop
endif
loop
endif
aadd(aData, var_imp)
enddo
if !empty(var_imp)
Aadd(aData, var_imp)
endif
fclose(handle)
// pdfdrawpage(aData,{||pdfstartpage(ahead,.t.)})
pdfdrawpage(aData)
pdfendpage()
pdfend()

return (.t.)

Por favor conto com a ajuda de vcs

Grato

Farley Ribeiro
MSN : farleyribeiro@yahoo.com.br
Email : farleyribeiro2006@gmail.com
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

No lugar do segundo pdfstartpage(ahead,.t.) use:
pdfnewpage( szTitleT, szFile )...alias...de uma olhada na fonte pdfhbdocs.prg...e de uma olhada tb. em HB_PDFWRITETEXT( cText ).

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Se quiser...posso te mandar a os Prg que contem as funções ou a LIB compilada...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder