Página 1 de 1
Desenhar um retângulo com HPDF
Enviado: 20 Jun 2016 09:53
por rubens
Bom dia...
Estou tentando desenhar um retângulo com a HPDF mas não desenha nada quando abre o pdf.
Estou usando a função
mas não desenha nada.
Segue o código completo para ver se alguém consegue me ajudar.
Código: Selecionar todos
Function main()
pdf := HPDF_New()
HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )
page := HPDF_AddPage(pdf)
* L R W H
HPDF_Page_Rectangle( pdf, 30, 30, 100, 100 )
cFILETOSAVE := 'TESTEPDF.PDF'
x_ret= HPDF_SaveToFile( pdf, cFILETOSAVE )
HPDF_Free( pdf )
HB_RUN( 'START /MAX sumatra\sumatrapdf.exe -reuse-instance -lang pt '+cFILETOSAVE) //-restrict -fullscreen
return nil
Obrigado
Rubens
Desenhar um retângulo com HPDF
Enviado: 20 Jun 2016 10:43
por Toledo
Rubens, acho que faltou apenas iniciar a página:
Código: Selecionar todos
oPage := HPDF_AddPage(pdf)
HPDF_Page_Rectangle( oPage, 30, 30, 100, 100 )
Abraços,
Desenhar um retângulo com HPDF
Enviado: 20 Jun 2016 17:40
por rubens
Boa tarde Toledo...
Tá inicializando a pagina na linha 05.
Só que não desenha...
Código: Selecionar todos
Function pdf2()
pdf := HPDF_New()
HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )
oPage := HPDF_AddPage(pdf)
/* HPDF_Page_BeginText(page)
HPDF_Page_MoveTextPos(page,15,height-20)
font := HPDF_GetFont( pdf, "Courier", NIL )
fontsize := 12
HPDF_Page_SetFontAndSize(oPage, font, fontsize)
FOR X = 1 TO 10
aPos :=HPdf_Page_GetCurrentPos( oPage )
cCOL :=STR( aPOS[1] )
cROW :=STR( aPOS[2] )
HPDF_Page_ShowText(page, 'LINHA: '+cROW + ' COLUNA: '+cCOL )
HPDF_Page_MoveTextPos(oPage,0,-12.5)
NEXT
HPDF_Page_EndText(oPage)
*/
*HPDF_Page_FillStroke( pdf )
*HPDF_Page_SetRGBFill( pdf, 0.9, 0.9, 0.9 )
*HPDF_Page_SetRGBStroke( pdf, 0.9, 0.9, 0.9 )
* L R W H
HPDF_Page_Rectangle( oPage, 30, 30, 100, 100 )
cFILETOSAVE := 'TESTEPDF.PDF'
x_ret= HPDF_SaveToFile( pdf, cFILETOSAVE )
HPDF_Free( pdf )
HB_RUN( 'START /MAX sumatra\sumatrapdf.exe -reuse-instance -lang pt '+cFILETOSAVE) //-restrict -fullscreen
return nil
Se eu "descomento" da linha 07 até a linha 21, ele imprime o texto do for/next. mas não desenha o retângulo.
Com a classe do Quintas eu consegui desenha e fazer o zebrado que eu quero, mas para eu inserir a classe dele no meu projeto agora, vai me dar muito trabalho devido aos relatórios já estarem todos prontos com a minha rotina da HPDF.
Só esse bendito retângulo não sai. Se eu conseguir desenha um, quebro a cabeça mais aqui e desenho o zebrado nos meus relatórios.
Ficou muito jóia os relatórios... Juntando uns códigos aqui e ali, consegui montar uma rotina que reconhece se a impressora é matricial ou laser e já direciona o tipo da impressão conforme o tipo da impressora já gerando o PDF configurado com os códigos ASCII dos relatórios da matricial.
Obrigado,
Rubens
Desenhar um retângulo com HPDF
Enviado: 20 Jun 2016 19:45
por Toledo
Rubens, segue um demo:
Código: Selecionar todos
#include "harupdf.ch"
Function main()
oPdf := HPDF_New()
HPDF_SetCompressionMode( oPdf, HPDF_COMP_ALL )
oPage := HPDF_AddPage(oPdf)
HPDF_Page_SetLineWidth( oPage, 1 )
* L R W H
HPDF_Page_Rectangle( oPage, 30, 30, 100, 100 )
HPDF_Page_Stroke( oPage )
cFILETOSAVE := 'TESTEPDF.PDF'
x_ret= HPDF_SaveToFile( oPdf, cFILETOSAVE )
HPDF_Free( oPdf )
HB_RUN( 'START /MAX sumatra\sumatrapdf.exe -reuse-instance -lang pt '+cFILETOSAVE) //-restrict -fullscreen
return nil
Abraços,
Desenhar um retângulo com HPDF
Enviado: 21 Jun 2016 11:38
por rubens
Bom dia...
Valeu Toledo...
Clareou, daí o resto foi só pesquisar e testar...
Obrigado...
Veja como ficou, agora todos os relatórios vão ficar com essa aparência...
Obrigado...
:{
Rubens
Desenhar um retângulo com HPDF
Enviado: 21 Jun 2016 15:49
por JoséQuintas
Não sei se seguiu o mesmo princípio, mas eu tinha postado por aqui a classe pra PDF:
https://pctoledo.org/forum/viewto ... &start=165
De repente, uma rotina pode ter algo que outra não tem.
Não custa verificar.
Nota:
Nem toda laser imprime o zebrado.
Também dá pra desenhar linhas, imagens, etc.
De qualquer forma, parabéns, nem todo mundo se entendeu com Harupdf.
Desenhar um retângulo com HPDF
Enviado: 21 Jun 2016 17:18
por rubens
Quintas...
Eu compilei sua pdfclass, inclusive consegui integrar no meu sistema...
Você simplificou o negócio de tal forma não tem como alguém não conseguir trabalhar com sua classe quando parte do zero.. e a melhor parte a flexibilidade de poder interagir com ela mesclando os métodos dela com as funções da HPDF.
Quando eu tive coragem de dar uma olhada nela eu já tinha feito quase tudo aqui... daí para eu adaptar ela aqui no que já estava pronto ia dar mais trabalho...
Mas só consegui o zebrado por causa da sua classe e de uma postagem que você fez mostrando um exemplo de zebrado e claro que hora que o Toledo mato a charada do Fill.
Mas de qualquer forma tô muito satisfeito.
Muito obrigado Toledo e Quintas...
Rubens
Desenhar um retângulo com HPDF
Enviado: 03 Jul 2016 20:20
por Vlademiro
Amigos, tentei compilar o exemplo postado pelo Toledo, mas deu o seguinte erro :
/usr/bin/ld: /usr/local/lib/harbour/liblibhpdf.a(hpdfstre.o): referência indefinida ao símbolo 'deflate'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
Uso o harbour 3.2 será que é isso ?
Desenhar um retângulo com HPDF
Enviado: 10 Jul 2016 02:11
por Vlademiro
Up
Desenhar um retângulo com HPDF
Enviado: 10 Jul 2016 11:07
por JoséQuintas
Pelo jeito ainda não resolveu, de minha parte só dá pra chutar:
Código: Selecionar todos
/usr/bin/ld: /usr/local/lib/harbour/liblibhpdf.a(hpdfstre.o): referência indefinida ao símbolo 'deflate'
O erro acima acusa falta de algo da própria LIB.
Pode ser mistura de versões de Harbour, ou bug mesmo.
Código: Selecionar todos
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
Parece que isso indica a falta de algo na linha de comando.
Tente compilar usando -w3 -es2, porque se faltar alguma definição de arquivo CH, a compilação mostra isso.
Fora isso, não pude perceber se é Linux ou Windows, dependendo do caso, melhor postar no harbour-users pra ter ajuda mais apropriada, ou correção, caso seja bug.