Avatar billede stengaard Praktikant
18. marts 2006 - 13:45 Der er 10 kommentarer og
1 løsning

udtræk fra mysql og opret pdf fil

hej har lavet dette lille script men kan ikke rigtig finde ud af hvoledes jeg for trukket image ud af mysql og lagt med ud på pdf filen for følgende fejl men dette eksempel.

FPDF error: Image file has no extension and no type was specified: $recipe_image

***** scriptet *****

<?php
    include ('useall.php');
   
    if (!isset($recID))
        $recID = "";
       
    if ($size == "4x6")
        $width = 80;
    else
        $width = 105;
   
    $recipe_title = "";
    $recipe_portioner = "";
    $recipe_image = "";
    $recipe_ingredients  = "";
    $recipe_method = "";
    $recipe_note = "";
    $q = "SELECT * FROM recipe WHERE recipeID = '$recID'";
    mysql_first_data ($q, "recipe_title|recipe_image|recipe_portioner|recipe_ingredients|recipe_method|recipe_note");
   
    $recipe_title = htmlreserve($recipe_title);
    $recipe_image = htmlreserve($recipe_image);
    $recipe_portioner = htmlreserve($recipe_portioner);
    $recipe_ingredients  = htmlreserve($recipe_ingredients);
    $recipe_method = htmlreserve($recipe_method);
    $recipe_note = htmlreserve($recipe_note);
   
   
    define('FPDF_FONTPATH', 'font/');
    require('mc_table_indeks.php');
   
    $pdf=new PDF_MC_Table('P','mm',$size);
    $pdf->AliasNbPages();
    $pdf->Open();
    $pdf->SetMargins(13,13,10);
   
    //1st page   
    $pdf->AddPage();
    $pdf->ln(1);
    $pdf->SetFont('Arial', 'B', 11);
    $pdf->MultiCell ($width, 5, $recipe_title,'0' ,'L');
   
    //1st Billed   
    $pdf->ln(1);
    $pdf->Image('$recipe_image');
   
    //Portioner
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Antal Portioner");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_portioner,'0' ,'L');
   
    //Ingredients
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Ingredienser");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_ingredients,'0' ,'L');
   
    //Method
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Fremgangsmetode");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_method,'0' ,'J');
   
    //Note
    if (!empty($recipe_note))
    {   
        $pdf->ln (5);
        $pdf->SetFont('Arial', '', 8);
        $pdf->SetTextColor(114,56,56);
        $pdf->Cell ($width, 5, "Note");
        $pdf->ln (5);
        $pdf->SetFont('Arial', '', 6);
        $pdf->SetTextColor(0);
        $pdf->MultiCell ($width, 3, $recipe_note,'0' ,'J');
    }
   
    $pdf->SetDisplayMode('real');
    $pdf->SetTitle("$recipe_title");
    $pdf->SetAuthor("domain.dk");
    $pdf->SetCreator("Powered by domain - http://www.domain.dk");
    $pdf->Output("recipe-$recID-$size.pdf", "I");
?>
Avatar billede jakobdo Ekspert
18. marts 2006 - 17:01 #1
Måske du skal bruge fuldsti til billedet?

$pdf->Image('blablabla/file/'.$recipe_image);

Samme sti som vi brugte da vi lavede upload billedet.
I din cat_view.php fil.
Avatar billede stengaard Praktikant
18. marts 2006 - 17:08 #2
ja det har jeg prøvet men det virker ikke
Avatar billede jakobdo Ekspert
18. marts 2006 - 17:21 #3
Og du er sikker på man "bare" indsætter et billede med:
//1st Billed 
$pdf->ln(1);
$pdf->Image('$recipe_image');
Avatar billede stengaard Praktikant
19. marts 2006 - 11:46 #4
har prøvet dette her

men nu kommer pdf filen frem men uden billed

prøv eventuelt selv her http://familien-stengaard.dk/opskrift/cat_detail.php?recID=12&catID=15

klik på pdf forneden scriptet ser således ud

<?php
    include ('useall.php');
   
    if (!isset($recID))
        $recID = "";
       
    if ($size == "4x6")
        $width = 80;
    else
        $width = 105;
   
    $recipe_title = "";
    $recipe_portioner = "";
    $recipe_image = "";
    $recipe_ingredients  = "";
    $recipe_tilbered  = "";
    $recipe_arbejds  = "";
    $recipe_energi  = "";
    $recipe_fordeling  = "";
    $recipe_method = "";
    $recipe_note = "";
    $q = "SELECT * FROM recipe WHERE recipeID = '$recID'";
    mysql_first_data ($q, "recipe_title|recipe_ingredients|recipe_fordeling|recipe_energi|recipe_arbejds|recipe_tilbered|recipe_portioner|recipe_image|recipe_method|recipe_note");
   
    $recipe_title = htmlreserve($recipe_title);
    $recipe_image = htmlreserve($recipe_image);
    $recipe_portioner = htmlreserve($recipe_portioner);
    $recipe_tilbered = htmlreserve($recipe_tilbered);
    $recipe_arbejds = htmlreserve($recipe_arbejds);
    $recipe_energi = htmlreserve($recipe_energi);
    $recipe_fordeling = htmlreserve($recipe_fordeling);
    $recipe_ingredients  = htmlreserve($recipe_ingredients);
    $recipe_method = htmlreserve($recipe_method);
    $recipe_note = htmlreserve($recipe_note);
   
   
    define('FPDF_FONTPATH', 'font/');
    require('mc_table_indeks.php');
   
    $pdf=new PDF_MC_Table('P','mm',$size);
    $pdf->AliasNbPages();
    $pdf->Open();
    $pdf->SetMargins(13,13,10);
   
    //1st Billed 
    if ($recipe_image && file_exists("/customers/domain.dk/domain.dk/httpd.www/opskrift/file/".$recipe_image))
{
    $pdf->ln(1);
    $pdf->Image("/customers/domain.dk/domain.dk/httpd.www/opskrift/file/".$recipe_image);
}
   
    //1st page   
    $pdf->AddPage();
    $pdf->ln(1);
    $pdf->SetFont('Arial', 'B', 11);
    $pdf->MultiCell ($width, 5, $recipe_title,'0' ,'L');
   
    //Portioner
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Antal Portioner");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_portioner,'0' ,'L');
   
    //Tilberedningstid
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Tilberedningstid ialt: ");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_tilbered,'0' ,'L');
   
    //Arbejds
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Arbejds tid:");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_arbejds,'0' ,'L');
   
    //Ingredients
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Ingredienser");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_ingredients,'0' ,'L');
   
    //Method
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 8);
    $pdf->SetTextColor(114,56,56);
    $pdf->Cell ($width, 5, "Fremgangsmetode");
    $pdf->ln (5);
    $pdf->SetFont('Arial', '', 6);
    $pdf->SetTextColor(0);
    $pdf->MultiCell ($width, 3, $recipe_method,'0' ,'J');
   
   
    //Note
    if (!empty($recipe_note))
    {   
        $pdf->ln (5);
        $pdf->SetFont('Arial', '', 8);
        $pdf->SetTextColor(114,56,56);
        $pdf->Cell ($width, 5, "Anbefalet tilbehør");
        $pdf->ln (5);
        $pdf->SetFont('Arial', '', 6);
        $pdf->SetTextColor(0);
        $pdf->MultiCell ($width, 3, $recipe_note,'0' ,'J');
    }
   
    $pdf->SetDisplayMode('real');
    $pdf->SetTitle("$recipe_title");
    $pdf->SetAuthor("Stengaard-webdesign.dk");
    $pdf->SetCreator("Powered by Stengaard Webdesign - http://www.Stengaard-webdesign.dk");
    $pdf->Output("recipe-$recID-$size.pdf", "I");
?>
Avatar billede jakobdo Ekspert
19. marts 2006 - 13:00 #5
På siden her: http://www.fpdf.org/en/tutorial/tuto2.htm
Der bruger de nogle koordinater på billedet:
//Logo
$this->Image('logo_pb.png',10,8,33);
Avatar billede stengaard Praktikant
19. marts 2006 - 13:19 #6
ja men det skal være fra de images der er blevet oploadet til serven som står i mysql, lige som de andre informationer der kommer frem ved e.ks. $recipe_note
Avatar billede jakobdo Ekspert
19. marts 2006 - 13:24 #7
Du mangler altså noget input på billederne:
Se igen her:
http://www.fpdf.org/en/doc/image.htm
Avatar billede stengaard Praktikant
19. marts 2006 - 20:52 #8
ja den har jeg også leget med og er kommet til denne her løsning men den virker heller ikke

  //1st Billed
    $pdf->ln(1);
    Image( $recipe_image, float 10, float 10 [, float 200 [, float 133 [,  JPG, JPEG, PNG [,/customers/domain.dk/domain.dk/httpd.www/opskrift/file/]]]])
Avatar billede stengaard Praktikant
21. marts 2006 - 20:41 #9
er kommet til denne løsning med det virker stadig ikke

if ($recipe_image && file_exists("/customers/domain.dk/domain.dk/httpd.www/opskrift/file/".$recipe_image))
{
    $pdf->Cell(150,10,"BILLEDET EKSISTERER");
    $pdf->ln(1);
    $pdf->Image("/customers/domain.dk/domain.dk/httpd.www/opskrift/file/".$recipe_image,10,10);
}


eller kan man bruge noget af dette her

<?php

error_reporting(E_ALL);

include('class.ezpdf.php');

$database = mysql_connect("localhost", "user", "password");
mysql_select_db("dbname", $database);

$query = "SELECT imgdata FROM tblimage WHERE ImgID = 9 ";
$result = mysql_query($query, $database);

$row = mysql_fetch_array($result);
$jpg = $row["imgdata"];


$pdf =& new Cezpdf();



$im = @imagecreatefromstring($jpg); /* Attempt to open */
if (!$im) { /* See if it failed */
$im = imagecreate(150, 30); /* Create a blank image */
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
/* Output an errmsg */
imagestring($im, 1, 5, 5, "Error loading img", $tc);
}

$pdf->addImage($im,100,$pdf->y-200,0,100);

$pdf->stream();

?>

fundet på http://sourceforge.net/forum/forum.php?thread_id=1445521&forum_id=261702
Avatar billede jakobdo Ekspert
21. marts 2006 - 20:43 #10
Jeg har desværre ikke flere forslag, da jeg ikke selv har arbejdet med fpdf. :o(
Du kan evt lukke det spørgsmål og oprette det på ny.
Så skal jeg nok lade vær med at spamme det! :o)
Avatar billede stengaard Praktikant
21. marts 2006 - 20:48 #11
lukket
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