Página 1 de 1
HaruPDF: Como colocar o total de páginas no cabeçalho
Enviado: 04 Abr 2025 08:29
por clodoaldomonteiro
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
Enviado: 04 Abr 2025 08:39
por JoséQuintas
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
HaruPDF: Como colocar o total de páginas no cabeçalho
Enviado: 05 Abr 2025 19:36
por clodoaldomonteiro
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.
REL_B009.PRG
- Fontes que gera o relatório
- (32.42 KiB) Baixado 260 vezes
Fontes NfwhPDF com pequenas alterações.
NFWHPDF.PRG
- Fontes NfwhPDF
- (99.77 KiB) Baixado 258 vezes
HaruPDF: Como colocar o total de páginas no cabeçalho
Enviado: 06 Abr 2025 00:53
por JoséQuintas
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.
HaruPDF: Como colocar o total de páginas no cabeçalho
Enviado: 06 Abr 2025 01:42
por developer
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.
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:
1) Para cada página adicionada fui colocando o handler da página em uma array
2) Antes de gerar o PDF com HPDF_SaveToFile( M->hPDF, cFile ), executei a seguinte rotina
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 i
O resultado foi que todas as páginas tiveram o número da página impresso com o total de páginas de forma automática sem eu precisar me preocupar com quantas páginas foram adicionadas.
HaruPDF: Como colocar o total de páginas no cabeçalho
Enviado: 06 Abr 2025 05:36
por JoséQuintas
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.