PHP output in PDF zetten
Dit wil ik doen:
Ik heb een form waar mensen op de KNOP printen kunnen drukken met HREF, dan gaat de site naar een pdf bestand en de Naam/ Aantal moet in de pdf bestand komem.Wat de gebruiker kan printen als hij dat wil. Ik zie alleen een pdf, geen tekst en ik er zijn weinig sites die "normale" fpdf uitleg geeft, zo wel is een link ook goed!
*!WARNING!*
Dit is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
require('fpdf.php');
$username="root";
$password="";
$database="Verzameling";
$con=mysql_connect(localhost,$username,$password);
mysql_select_db($database, $con);
// Hiermee maken we een pdf bestand
$pdf=new FPDF();
$pdf->Open();
$pdf->SetAutoPageBreak(false);
$pdf->AddPage();
//beginhoogte van de rijkoppen
$y_axis_initial = 50;
//beginhoogte van de data uit database
$y_axis = 55;
$pdf->SetFont('Arial','B',15);
$result = mysql_query("SELECT * FROM cds WHERE ID = '$ID' ");
while ($row = mysql_fetch_assoc($result)) {
//positie waar het feest van de Y-as moet beginnen
$pdf->SetY($y_axis_initial);
//posistie waar de X-as begint
$pdf->SetX(25);
$pdf->Cell(25,6, 'Printgegevens',0 ,0);
$pdf->SetFont('Arial','',12);
$pdf->SetY($y_axis);
$pdf->SetX(25);
//Naam wordt uit de database gehaald
$pdf->Cell(1,25,$row['Naam'],0,0,'L',2);
$pdf->SetX(25);
//Faxnummer wordt uit de database gehaald
$pdf->Cell(1,40,$row['Aantal'],0,0,'L',2); // kolomnaam
$pdf->SetX(25);
//Arial cursief 8
$pdf->SetFont('Arial','', '8');
$pdf->SetX(25);
$pdf->Cell(1,460,'plaats hier de voettekst',0,0,'L',2);
$pdf->SetX(35);
$pdf->Cell(1,470,'Dit is regel 2 voor de voettekst',0,0,'L',2);
}
$pdf->Output();
?>
require('fpdf.php');
$username="root";
$password="";
$database="Verzameling";
$con=mysql_connect(localhost,$username,$password);
mysql_select_db($database, $con);
// Hiermee maken we een pdf bestand
$pdf=new FPDF();
$pdf->Open();
$pdf->SetAutoPageBreak(false);
$pdf->AddPage();
//beginhoogte van de rijkoppen
$y_axis_initial = 50;
//beginhoogte van de data uit database
$y_axis = 55;
$pdf->SetFont('Arial','B',15);
$result = mysql_query("SELECT * FROM cds WHERE ID = '$ID' ");
while ($row = mysql_fetch_assoc($result)) {
//positie waar het feest van de Y-as moet beginnen
$pdf->SetY($y_axis_initial);
//posistie waar de X-as begint
$pdf->SetX(25);
$pdf->Cell(25,6, 'Printgegevens',0 ,0);
$pdf->SetFont('Arial','',12);
$pdf->SetY($y_axis);
$pdf->SetX(25);
//Naam wordt uit de database gehaald
$pdf->Cell(1,25,$row['Naam'],0,0,'L',2);
$pdf->SetX(25);
//Faxnummer wordt uit de database gehaald
$pdf->Cell(1,40,$row['Aantal'],0,0,'L',2); // kolomnaam
$pdf->SetX(25);
//Arial cursief 8
$pdf->SetFont('Arial','', '8');
$pdf->SetX(25);
$pdf->Cell(1,460,'plaats hier de voettekst',0,0,'L',2);
$pdf->SetX(35);
$pdf->Cell(1,470,'Dit is regel 2 voor de voettekst',0,0,'L',2);
}
$pdf->Output();
?>
Gewijzigd op 25/01/2011 15:55:50 door Lol kid
http://www.fpdf.org/
Lijkt mij de aangewezen site. Probeer wat met de examples en bouw die uit tot wat je uiteindelijk wil hebben. Het is geen makkelijke maar het is mij uiteindelijk ook wel gelukt om een factuur met factuurheader, factuurregels en factuurfooter te maken.
Duik in de tutorials op de site van FPDF: Lijkt mij de aangewezen site. Probeer wat met de examples en bouw die uit tot wat je uiteindelijk wil hebben. Het is geen makkelijke maar het is mij uiteindelijk ook wel gelukt om een factuur met factuurheader, factuurregels en factuurfooter te maken.
Edit:
in de while is bijvoorbeeld je y_axis steeds hetzelfde, je print dus steeds op dezelfde regel. Het geheel is pixel georienteerd dus na een regel moet je een regele verder door de y_axis op te hogen met voldoende pixels. Probeer echt vanuit een example aan de slag te gaan!
Gewijzigd op 25/01/2011 16:09:52 door John D
dan tog maar een duik in de site name
maar over de y_axis, het zijn intotaal denk ik maar 3-5 worde wat er word geprint
omdat je maar 1 id kan printe
dus 1 aantal
dus 1 naam
dus 1 ID
klopt dit ofnie?
Nee, klopt niet. Zodra je een regel met aantal, naa, ID hebt geprint moet je de y_axis ophogen om op de volgende regel te printen. Jij print alles op dezelfde regel waardoor vermoedelijk steeds alleen de laatste regel zichtbaar wordt. Dus hoog na afdrukken van een regel je y_axis voldoende op: $y_axis = $y_axis_initial + 15; om maar wat te noemen.