Bom dia.
Acho que essa é uma das falhas de gerar PDF, que é como depois de gerar todas as páginas, colocar no cabeçalho de todas o total de páginas? Ex: "Página 1 / 20".
Pelo que vi, não existe um objeto, script ou variável da linguagem PDF que possa ser incluído no momento de gerar o PDF e que depois seja assumido com o valor total de páginas.
Fico grato pela ajuda de todos.
HaruPDF: Como colocar o total de páginas no cabeçalho
Moderador: Moderadores
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
HaruPDF: Como colocar o total de páginas no cabeçalho
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HaruPDF: Como colocar o total de páginas no cabeçalho
Guardar os objetos de página em array, e colocar no final.
Enquanto tem os objetos pode mexer.
https://github.com/JoseQuintas/sefazcla ... df_nfe.prg
Enquanto tem os objetos pode mexer.
https://github.com/JoseQuintas/sefazcla ... df_nfe.prg
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
HaruPDF: Como colocar o total de páginas no cabeçalho
Consegui gerar um PDF com Haru, de 54 páginas, que ficou com mais de 50 MB.
Já com os fontes do Rochinha "nfwhpdf.prg", ficou em ~3MB, sem compactar, pois compactando fica 340 KB.
Como pode ter uma diferença tão grande assim entre Haru e nfwhpdf.prg?
Fontes que gera o Relatório. Fontes NfwhPDF com pequenas alterações.
Já com os fontes do Rochinha "nfwhpdf.prg", ficou em ~3MB, sem compactar, pois compactando fica 340 KB.
Como pode ter uma diferença tão grande assim entre Haru e nfwhpdf.prg?
Fontes que gera o Relatório. Fontes NfwhPDF com pequenas alterações.
- Anexos
-
PDF.CH- CH de NfwhPDF
- (8.28 KiB) Baixado 263 vezes
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HaruPDF: Como colocar o total de páginas no cabeçalho
Muito boa pergunta.
É bom tentar descobrir.
harupdf tem opção de compactar, mesmo assim, existem utilitários que compactam mais ainda.
Não sei porque isso.
É bom tentar descobrir.
harupdf tem opção de compactar, mesmo assim, existem utilitários que compactam mais ainda.
Não sei porque isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
HaruPDF: Como colocar o total de páginas no cabeçalho
Pelo que entendi o que você queria era algo assim: Pois eu fiz uns testes aqui com a LibHaru e consegui, então o que fiz foi:Acho que essa é uma das falhas de gerar PDF, que é como depois de gerar todas as páginas, colocar no cabeçalho de todas o total de páginas? Ex: "Página 1 / 20".
Pelo que vi, não existe um objeto, script ou variável da linguagem PDF que possa ser incluído no momento de gerar o PDF e que depois seja assumido com o valor total de páginas.
1) Para cada página adicionada fui colocando o handler da página em uma array
Código: Selecionar todos
M->hPage := HPDF_Add_Page()
AADD( M->aPages, M->hPage )Código: Selecionar todos
nTotal_Pages := LEN( M->aPages )
FOR i := 1 TO nTotal_Pages
xTemp := LTRIM( STR( i ) ) + '/' + LTRIM( STR( nTotal_Pages ) )
HPDF_Page_SetFontAndSize( M->aPages[i], M->hFNT_Fixed, 10 )
HPDF_Page_BeginText( M->aPages[i] )
HPDF_Page_TextOut( M->aPages[i], ( HPDF_Page_GetWidth( M->aPages[i] ) / 2 - 10 ) , 30, xTemp )
HPDF_Page_EndText( M->aPages[i] )
NEXT iMario
Especializado em projetos de TI, suporte técnico, consultoria, freelancer, gestão de tráfego web.
Especializado em projetos de TI, suporte técnico, consultoria, freelancer, gestão de tráfego web.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HaruPDF: Como colocar o total de páginas no cabeçalho
Cuidado com esse exemplo.
Não se deve usar m-> pra definir variáveis.
1) Isso confunde com alias
2) Isso torna a variável PRIVATE
3) Isso impede a checagem de variáveis pelo compilador.
4) A variável é totalmente desprezada pelo compilador, podemos chamar de opção "que se lasque".
O resultado e que só verá o erro no cliente, quando for tarde demais.
Não se deve usar m-> pra definir variáveis.
1) Isso confunde com alias
2) Isso torna a variável PRIVATE
3) Isso impede a checagem de variáveis pelo compilador.
4) A variável é totalmente desprezada pelo compilador, podemos chamar de opção "que se lasque".
O resultado e que só verá o erro no cliente, quando for tarde demais.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
