Página 1 de 3
Gerar PDF
Enviado: 02 Set 2021 16:50
por frazato
Boa tarde!
Estou migrando meu xharbour de 0.99..... para a versão Xharbour 1.2.3 intel.(Simplex) (Build 20201212), com GTWVW, varios erros princiapamente meus de coisa mau feita, relaxo mesmo!
Ai tenho um rotina que gera pdf usando o txt, rotinas essa que peguei aqui mesmo no forum a muito tempo e funciona bem até hoje muito. Só não estou achando mais a lib que contem essa funções abaixo, caso alguem tenha a lib ja compilada para disponibílizar agradeço.
PDFNEW()
Function PDFSTARTPAGE()
Function PDFDRAWPAGE()
Function PDFENDPAGE()
Function PDFEND()
Frazato
Gerar PDF
Enviado: 03 Set 2021 16:01
por frazato
Tarde!
Como não consegui achar essas funções e já tinha convertido essa mesma função para o Harbour que por sinal foi muito mais facil de compilar, usei essas libs que peguei no projeto MRboleto.
hbhpdf.lib libharu.lib hbzebra.lib png.lib
Frazato
Código: Selecionar todos
#include "harupdf.ch"
*******************
Function GERA_PDF(cARQ,cVisualiza)
*******************
LOCAL font_list := { ;
"Courier" , ;
"Courier-Bold" , ;
"Courier-Oblique" , ;
"Courier-BoldOblique" , ;
"Helvetica" , ;
"Helvetica-Bold" , ;
"Helvetica-Oblique" , ;
"Helvetica-BoldOblique" , ;
"Times-Roman" , ;
"Times-Bold" , ;
"Times-Italic" , ;
"Times-BoldItalic" , ;
"Symbol" , ;
"ZapfDingbats" }
Local Page, nSeq := 0
Local pdf
centra(24,"Aguarde Gerando Documento PDF...")
Do While .t.
nSeq++
If ! File("p:\temp\JAF_"+StrZero(nSeq,4)+'.PDF')
cFILE3 := "p:\temp\JAF_"+StrZero(nSeq,4)+'.PDF'
Exit
Endif
If nSeq >=9999
Alerta("Faca a limpeza da pasta p:\temp\")
Endif
Enddo
//cFile3 := 'c:\temp\joao.pdf'
Sele Preview
nFonte := 7
nOpcao := AlertJAF("DESTINO"+;
' ',{"### Normal ###",;
"### Compactado DRE ###",;
"### Romaneio ###" },"WW+/BR+,BB+/N" )
cFile := "fundo.jpg"
? pdf := HPDF_New()
IF pdf == NIL
Alerta( "PDF could not be created!" )
RETURN NIL
Else
? 'ok.. criando pdf sucesso!'
Endif
/* set compression mode */
HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )
page := HPDF_AddPage( pdf )
height := HPDF_Page_GetHeight( page )
width := HPDF_Page_GetWidth( page )
def_font := HPDF_GetFont( pdf, font_list[1], NIL )
HPDF_Page_SetFontAndSize( page, def_font, nFonte )
tw := HPDF_Page_TextWidth( page,' page_title')
HPDF_Page_BeginText( page )
HPDF_Page_TextOut( page, 10, height - 60, "" ) //
//HPDF_Page_TextOut( page, 60, height - 60, "" ) //
dbgotop()
cCONT=0
cQuebra:= .f.
Do while !Eof()
cLinha := l001+l002+l003+l004+l005+l006+l007+l008+l009+l010
cCONT=cCONT+1
cLinha := StrTran(cLinha,'Ä','=')
I=0
For I:= 1 to Len(cLinha)
//---- Ajusta caracter
If Substr(cLinha,i,1)==Chr(12)
cQuebra:= .t.
Exit
Endif
Next
if cQuebra==.t.
HPDF_Page_ShowText( page, clinha )
HPDF_Page_MoveTextPos( page, 0, - 10 ) //18
page := HPDF_AddPage( pdf )
height := HPDF_Page_GetHeight( page )
width := HPDF_Page_GetWidth( page )
def_font := HPDF_GetFont( pdf, font_list[1], NIL )
HPDF_Page_SetFontAndSize( page, def_font, nFonte )
tw := HPDF_Page_TextWidth( page,' page_title')
HPDF_Page_BeginText( page )
HPDF_Page_TextOut( page, 10, height - 60, "" ) //40
cQuebra:= .f.
cCONT=0
Else
HPDF_Page_ShowText( page, clinha )
HPDF_Page_MoveTextPos( page, 0, - 10 ) //18
ENDIF
dbskip()
enddo
IF HPDF_SaveToFile( pdf, cFile3) != 0
Alerta('Erro criacao do PDF!')
ENDIF
HPDF_Free(pdf )
Alerta('Criado arquivo....'+cFile3)
Return cFile3
Gerar PDF
Enviado: 04 Nov 2021 12:13
por Trazom
converti meu sistema usando harbour em modo console ainda, tem como gerar pdf em modo console ?
Gerar PDF
Enviado: 04 Nov 2021 12:28
por Kapiaba
Boa tarde, eu usaria uma impressora virtual, tipo: PDFMACHINE, excelente e tem uma versão gratuíta. E você já vai se acostumando com o mundo for windows. Depois, vá migrando seu sistema para Windows, é muito fácil. Obg. abs.
Gerar PDF
Enviado: 04 Nov 2021 16:59
por JoséQuintas
Acho que não precisa tanto.
Uma vez em PDF atende o Windows também.
Veja se ajuda:
https://github.com/JoseQuintas/pdfclass
Tive que retirar a parte Windows pra ficar mais "padrão", mas acho que tá tranquilo.
Pode começar apenas fazendo igual, mas pode acrescentar recursos visuais.
Gerar PDF
Enviado: 04 Nov 2021 17:04
por JoséQuintas
Relatório simples, estilo tradicional, mas usando minha classe de MySQL
Código: Selecionar todos
STATIC FUNCTION imprime()
LOCAL oPDF, nKey, cnSQL := ADOLocal()
oPDF := PDFClass():New()
oPDF:SetType( nOpcPrinterType )
oPDF:Begin()
nKey = 0
oPDF:acHeader := { "","",""}
oPDF:acHeader[ 1 ] = "LISTAGEM DO CADASTRO DE CIDADES/PAISES"
oPDF:acHeader[ 3 ] = Space(43) + "CODIGO NOME------------------------------------- UF"
WITH OBJECT cnSQL
:cSQL := "SELECT IDCIDADE, CINOME, CIUF ORDER BY CINOME"
:Execute()
DO WHILE nKey != K_ESC .AND. ! :Eof()
GrafProc()
nKey = Inkey()
oPDF:MaxRowTest()
oPDF:DrawText( oPDF:nRow, 44, Str( :Number( "IDCIDADE" ), 6 ) )
oPDF:DrawText( oPDF:nRow, 52, :String( "CINOME", 21 ) )
oPDF:DrawText( oPDF:nRow, 96, :String( "CIUF", 2 ) )
oPDF:nRow += 1
:MoveNext()
ENDDO
:CloseRecordset()
ENDWITH
oPDF:End()
RETURN .T.
Gerar PDF
Enviado: 16 Jul 2022 00:23
por cjp
Por favor, saberia me informar:
1) como faço para colocar texto colorido?
2) como faço para incluir uma imagem no pdf?
Grato
Gerar PDF
Enviado: 16 Jul 2022 21:48
por JoséQuintas
Nas pastas do harbour tem exemplo, contrib/hbhpdf
Gerar PDF
Enviado: 19 Jul 2022 01:39
por cjp
Olhei todos os arquivos desta pasta, não achei resposta às minhas perguntas.
Pode me ajudar?
Gerar PDF
Enviado: 19 Jul 2022 09:08
por JoséQuintas
No exemplo do harbour tem texto colorido e imagem, é o que você quer.
Gerar PDF
Enviado: 19 Jul 2022 09:12
por JoséQuintas
O exemplo gerado tem 29 páginas, o colorido está na página 5.
Gerar PDF
Enviado: 19 Jul 2022 16:54
por cjp
Executei o test.prg que consta nessa pasta do contrib. Veja o que deu no anexo. Não abre pdf.
Gerar PDF
Enviado: 22 Jul 2022 19:16
por PAULO S
Caros colegas,
Uso o PDFCreator com um sistema que gera relatórios com imagem de logomarca e funciona bem no Windows 7 32 bits gerando tudo em PDF.
Testei este mesmo sistema no Windows 10 e não está conseguindo fazer a impressão em PDF no PDFCreator. Fica enviando para o driver da impressora virtual e não finaliza.
Alguém já passou por este mesmo problema ?
Gerar PDF
Enviado: 22 Jul 2022 21:38
por PAULO S
Colegas,
Caso resolvido. Felizmente apenas uma pequena falha de confirguração.
Obrigado a todos. Saúde e Sucesso !
Gerar PDF
Enviado: 23 Jul 2022 23:12
por JoséQuintas
Inácio, não uso harbour 3.2.
No 3.4 o exemplo roda redondo.
Se no harbour que está usando não compila nem o teste, pode ser seu harbour 3.2 com problema.
Outros que usam podem confirmar se o problema é geral.