Avatar billede prysse Nybegynder
09. juni 2008 - 09:09 Der er 17 kommentarer og
1 løsning

Problemer med HTML2PDF

Ohøj eksperter ...

Jeg har et lille problem, og måske nogen af jer der har erfaring med det glimrende script FPDF.org

Nogle gæve gutter har lavet lidt tweaks på FPDF scriptet, og ud af det er kommet HTML2PDF.

Jeg er ved at samle et script sammen, der skal printe noget ud fra en database, lave html'en, så scriptet kan lave det som en PDF til print.

Dog kommer der et problem, efter det hele er sat op :(
[code]
<?php
require('html2fpdf.php');
// activate Output-Buffer:
ob_start();
//START-OF-PHP code
    mysql_connect("localhost","********","******");
    mysql_select_db("******") or die("Fejl ved aabning ..");
    $query2 = "select * FROM news WHERE id='$_GET[id]'";
    $result2 = mysql_query($query2) or die(mysql_error());

    while($row2 = mysql_fetch_array($result2)) {
    extract($row2);

    print "$text";

}
//END-OF-PHP code
// Output-Buffer in variable:
$htmlbuffer=ob_get_contents();
// delete Output-Buffer :
ob_end_clean();
require('html2fpdf.php');
$pdf=new PDF();
$pdf->AddPage();
$pdf->WriteHTML($htmlbuffer);
$pdf->Output(); //Outputs on browser screen
?>
[/code]

... og så giver den mig denne fejl:
Fatal error: Cannot redeclare class html2fpdf in /home/web/html2fpdf/html2fpdf.php on line 65

Jeg aner slet ej mit levende råd :S ... syntes jeg har været det hele igennem ... nogen af jer der har set dette før, eller måske ved hvordan det kan fikses?
Avatar billede prysse Nybegynder
09. juni 2008 - 09:10 #1
... linie 65 er nederste linie i denne kode forresten :)

define('HTML2FPDF_VERSION','3.0(beta)');
if (!defined('RELATIVE_PATH')) define('RELATIVE_PATH','');
if (!defined('FPDF_FONTPATH')) define('FPDF_FONTPATH','font/');
require_once(RELATIVE_PATH.'fpdf.php');
require_once(RELATIVE_PATH.'htmltoolkit.php');

class HTML2FPDF extends FPDF
Avatar billede jakobdo Ekspert
09. juni 2008 - 09:22 #2
Du har: require('html2fpdf.php'); 2 gange ???

<?php
require('html2fpdf.php');

og

ob_end_clean();
require('html2fpdf.php');
$pdf=new PDF();
Avatar billede prysse Nybegynder
09. juni 2008 - 09:29 #3
Yes ... men det skal den åbenbart have både før ob_start og ob_end, men at fjerne den gør nu ingen forskel som så...
Avatar billede jakobdo Ekspert
09. juni 2008 - 10:33 #4
Det vil sige fejlen stadig er der ?
Avatar billede prysse Nybegynder
09. juni 2008 - 11:45 #5
Yessir :)
Avatar billede jakobdo Ekspert
09. juni 2008 - 13:09 #6
Test lige denne kode:

<?php
//http://www.eksperten.dk/spm/834257
if(isset($_GET['id'] && is_numeric($_GET[id])){
    mysql_connect("localhost","********","******");
  mysql_select_db("******") or die("Fejl ved aabning ..");
  $result = mysql_query("select * FROM news WHERE id='".intval($_GET['id'])."' LIMIT 1";) or die(mysql_error());
    if(mysql_num_rows($result)==1){
        $row = mysql_fetch_array($result);
       
        require_once('html2fpdf.php');
        $pdf=new HTML2FPDF();
        $pdf->AddPage();
        $pdf->WriteHTML($row['text']);
        $pdf->Output();
        echo 'PDF file is generated successfully!';
    }else{
        echo "PDF Error!";
    }
}else{
    echo 'PDF Error!';
}
?>
Avatar billede prysse Nybegynder
09. juni 2008 - 13:26 #7
Hmmm...

Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /home/web/html2fpdf/html_pdf.php on line 1
Avatar billede prysse Nybegynder
09. juni 2008 - 13:38 #8
hov ... linie 3 og ikke 1 :P
Avatar billede jakobdo Ekspert
09. juni 2008 - 13:56 #9
Der var lidt fejl, prøv igen:

<?php
//http://www.eksperten.dk/spm/834257
if(isset($_GET['id']) && is_numeric($_GET['id'])){
    $id = intval($_GET['id']);
    mysql_connect("localhost","********","******");
  mysql_select_db("******") or die("Fejl ved aabning ..");
  $result = mysql_query("SELECT text FROM news WHERE id=".$id." LIMIT 1;") or die(mysql_error());
    if(mysql_num_rows($result)==1){
        $row = mysql_fetch_array($result);
       
        require_once('html2fpdf.php');
        $pdf=new HTML2FPDF();
        $pdf->AddPage();
        $pdf->WriteHTML($row['text']);
        $pdf->Output();
        echo 'PDF file is generated successfully!';
    }else{
        echo "PDF Error!";
    }
}else{
    echo 'PDF Error!';
}
?>
Avatar billede prysse Nybegynder
09. juni 2008 - 13:59 #10
Fortsat samme fejl :S
Avatar billede jakobdo Ekspert
09. juni 2008 - 14:57 #11
Følgende kode virker hos mig:

<?php
//exit();
//http://www.eksperten.dk/spm/834257
if(isset($_GET['id']) && is_numeric($_GET['id'])){
    $id = intval($_GET['id']);
    mysql_connect("localhost","********","******");
  mysql_select_db("******") or die("Fejl ved aabning ..");
  $result = mysql_query("SELECT text FROM news WHERE id=".$id." LIMIT 1;") or die(mysql_error());
    if(mysql_num_rows($result)==1){
        $row = mysql_fetch_array($result);
       
        require_once('html2fpdf.php');
        $pdf=new HTML2FPDF();
        $pdf->AddPage();
        $pdf->WriteHTML($row['text']);
        $pdf->Output();
        echo 'PDF file is generated successfully!';
    }else{
        echo "PDF Error!";
    }
}else{
    echo 'PDF Error!';
}
?>

Hvad siger den hos dig ?
Avatar billede prysse Nybegynder
09. juni 2008 - 15:03 #12
PDF Error! Fatal error: Cannot redeclare class html2fpdf in /home/web/html2fpdf/html2fpdf.php on line 65

og som skrevet tidligere kommer linie 65 nederst her :)
... linie 65 er nederste linie i denne kode forresten :)

define('HTML2FPDF_VERSION','3.0(beta)');
if (!defined('RELATIVE_PATH')) define('RELATIVE_PATH','');
if (!defined('FPDF_FONTPATH')) define('FPDF_FONTPATH','font/');
require_once(RELATIVE_PATH.'fpdf.php');
require_once(RELATIVE_PATH.'htmltoolkit.php');

class HTML2FPDF extends FPDF
Avatar billede jakobdo Ekspert
09. juni 2008 - 15:25 #13
Og du har hentet nyeste html2fpdf.php fil ?

Jeg har koden:

<?php
//exit();
//http://www.eksperten.dk/spm/834257
require_once('html2fpdf.php');
$pdf=new HTML2FPDF();
$pdf->AddPage();
$content = file_get_contents('834257.html');
$pdf->WriteHTML($content);
$pdf->Output();
echo 'PDF file is generated successfully!';
?>

og den giver følgende side:
http://www.codebreaker.dk/exp/834257/
Avatar billede prysse Nybegynder
09. juni 2008 - 16:53 #14
Tak tak ... Så må jeg bare lige finde en måde at flette mit PHP script ind i det. Faktisk det der hele tiden har været problem... men ok :P Finder nok en løsning :D

Svar må gerne lægges, og så vil jeg da sige tak for indsatsen :D
Avatar billede dkfire Nybegynder
09. juni 2008 - 17:31 #15
Du kunne jo starte med at lade være med at skrive require til den samme fil to gange i dit script.
Evt kan du jo bruge require_once i stedet.
Avatar billede jakobdo Ekspert
09. juni 2008 - 18:42 #16
Du får et svar.
Avatar billede prysse Nybegynder
10. juni 2008 - 09:10 #17
// Lukket
Avatar billede jakobdo Ekspert
10. juni 2008 - 09:59 #18
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester