Jump to content
Chikita

imprimir html em fpdf

Recommended Posts

Chikita

Boa tarde,

Estou a tentar imprimir uma pauta de avaliação em fpdf. O cabeçalho e o rodapé já consegui, mas quando chego a parte das tabelas e mando imprimir o html, imprime-me o conteúdo mas não imprime no formato pretendido.

Estive a procurar por muitos sites e já tenho a função WriteHTML, sigo todos os passos mas não me imprime o formato! Em baixo é o que tenho para imprimir.

Alguém que me consiga ajudar nisto por favor??

//resto do ficheiro

$html1="<table border='3'>
<tr>
<td width='200' height='30'>cell 1</td><td width='200' height='30' bgcolor='#D0D0FF'>cell 2</td>
</tr>
<tr>
<td width='200' height='30'>cell 3</td><td width='200' height='30'>cell 4</td>
</tr>
</table>";


$pdf=new PDF('L', 'mm', 'A4');
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',8);
$pdf->Ln(10);

$pdf->WriteHTML($html1);
$pdf->Output();

Edited by Rui Carlos

Share this post


Link to post
Share on other sites
pikax

Podes sempre criar a tabela 'a mao, ou e' mesmo necessario criar por html?

EDIT:

Se criares um HTML valido, nao funciona?

$html1="<html><head></head><body><table border='3'>
<tr>
<td width='200' height='30'>cell 1</td><td width='200' height='30' bgcolor='#D0D0FF'>cell 2</td>
</tr>
<tr>
<td width='200' height='30'>cell 3</td><td width='200' height='30'>cell 4</td>
</tr>
</table>
</body>
</html>";

Edited by pikax

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
Chikita

Não posso fazer à mão porque é demasiado complexa e tem necessariamente ligação à base de dados, com imensos registos...

Eu estou a tentar ainda com exemplos simples, pois ele imprime as celulas mas não imprime o formato html e tem de se ser mesmo porque depende do numero de alunos da pauta por exemplo...

Mesmo que eu meta o:

$html1="<html><head></head><body><table border='3'>
<tr>
<td width='200' height='30'>cell 1</td><td width='200' height='30' bgcolor='#D0D0FF'>cell 2</td>
</tr>
<tr>
<td width='200' height='30'>cell 3</td><td width='200' height='30'>cell 4</td>
</tr>
</table>
</body>
</html>";

não funciona na mesma :(

O HTML2PDF não serev para imprimir apenas páginas web?? Já andei a pesquisar, mas realmente eu tenho de construir a tabela de acordo com as turmas, tem de ser tudo gerivel...

Não sei se estou a fazer confusão :s

Share this post


Link to post
Share on other sites
Cerzedelo

Não, o HTML2PDF é uma modificação do fpdf, para poder imprimir html. O programa não converte html, simplesmente permite que se imprima especificações do html. ver exemplo:

<?php
$content = "
<page>
<h1>Exemple d'utilisation</h1>
<br>
Ceci est un <b>exemple d'utilisation</b>
de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br>
</page>";
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($content);
$html2pdf->Output('exemple.pdf');
?>

Share this post


Link to post
Share on other sites
Chikita

Já consegui por a imprimir HTML com FPDF, muito obrigada!! Mas agora continuo com um problema... é que eu quero imprimir uma tabela com rowspan e coldspan, e ele imprime a tabela mas não reconhece os atributos!!

Há soluções para poder reconhecer?! :/

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.