No artigo de hoje, vou mostrar como fazer para gerar um HTML, abrir no navegador para que seja possível a impressão em PDF.
Existem inúmeras formas de se fazer um relatório em AdvPL, porém me perguntaram se tinha como criar um em HTML, e desse arquivo gerar um PDF.
Pois bem, até dá, com tSimpleEditor e o método SaveToPDF, porém isso acaba desconfigurando o visual do relatório.
Então o que eu recomendo, é gerar o HTML via AdvPL, e ao gerar, gravar em uma pasta temporária e já abrir pelo navegador padrão do usuário.
E aí, o usuário pode dar um Ctrl+P na página HTML e escolher a impressora padrão ou em PDF.
Abaixo um exemplo de como fazer:
// Exemplo extraído de https://www.w3schools.com/html/html_tables.asp
Static Function fTextoHtml()
Local cTextHtml := ""
Local cPasta := GetTempPath()
Local cArquivo := "relatorio_" + dToS(Date()) + "_" + StrTran(Time(), ":", "-") + ".html"
//Monta o HTML
cTextHtml += '' + CRLF
cTextHtml += '' + CRLF
cTextHtml += '' + CRLF
cTextHtml += '' + CRLF
cTextHtml += '' + CRLF
cTextHtml += '' + CRLF
cTextHtml += '' + CRLF
cTextHtml += 'Styling Tables
' + CRLF
cTextHtml += '' + CRLF
cTextHtml += '| Firstname | ' + CRLF cTextHtml += 'Lastname | ' + CRLF cTextHtml += 'Age | ' + CRLF cTextHtml += '
|---|---|---|
| Jill | ' + CRLF cTextHtml += 'Smith | ' + CRLF cTextHtml += '50 | ' + CRLF cTextHtml += '
| Eve | ' + CRLF cTextHtml += 'Jackson | ' + CRLF cTextHtml += '94 | ' + CRLF cTextHtml += '
| John | ' + CRLF cTextHtml += 'Doe | ' + CRLF cTextHtml += '80 | ' + CRLF cTextHtml += '
' + CRLF cTextHtml += '' + CRLF cTextHtml += '
| Firstname | ' + CRLF cTextHtml += 'Lastname | ' + CRLF cTextHtml += 'Age | ' + CRLF cTextHtml += '
|---|---|---|
| Jill | ' + CRLF cTextHtml += 'Smith | ' + CRLF cTextHtml += '50 | ' + CRLF cTextHtml += '
| Eve | ' + CRLF cTextHtml += 'Jackson | ' + CRLF cTextHtml += '94 | ' + CRLF cTextHtml += '
| John | ' + CRLF cTextHtml += 'Doe | ' + CRLF cTextHtml += '80 | ' + CRLF cTextHtml += '
Abaixo um print do navegador aberto, após pressionar Ctrl + P para imprimir.
Obs.: O HTML usado como referência, foi disponibilizado pela W3 Schools – https://www.w3schools.com/html/tryit.asp?filename=tryhtml_table_id2
Bom pessoal, por hoje é só.
Abraços e até a próxima.
