The PDF extension of PHP (PDFlib) provides the required functionality for generating PDF files.
The following sample code demonstrates how a PDF file can be created and filled with
information retrieved from database:
<?php
// select data from database for the PDF
mysql_select_db($database_cnnTest, $cnnTest);
$query_rsReportData = "SELECT * FROM categories";
$rsReportData = mysql_query($query_rsReportData, $cnnTest) or die(mysql_error());
$row_rsReportData = mysql_fetch_assoc($rsReportData);
$totalRows_rsReportData = mysql_num_rows($rsReportData);
?>
<?php
// create handle for new PDF document
$pdf = pdf_new();
// open a file
pdf_open_file($pdf, "");
// Set Info
pdf_set_info($pdf, "Author", "Georgi Kralev");
pdf_set_info($pdf, "Title", "Report");
pdf_set_info($pdf, "Creator", "Georgi Kralev");
pdf_set_info($pdf, "Subject", "Report");
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);
// path of your TTF font directory
$fontdir = "C:\WINDOWS\Fonts";
// Open .TTFs (true type fonts)
pdf_set_parameter($pdf, "FontOutline", "ArialItalic=$fontdir\ariali.ttf");
pdf_set_parameter($pdf, "FontOutline", "ArialBold=$fontdir\ARIALBD.TTF");
pdf_set_parameter($pdf, "FontOutline", "Arial=$fontdir\ARIAL.TTF");
// ------ Start output of the PDF Content ------//
// set the font - Arial Bold 15
$font = pdf_findfont($pdf, "ArialBold", "host",0); pdf_setfont($pdf, $font, 15);
// output document title
pdf_show_xy($pdf, "Categories Report", 50, 788);
// draw a line
pdf_moveto($pdf, 20, 780);
pdf_lineto($pdf, 575, 780);
pdf_stroke($pdf);
// set the font - Arial Italic 12
$font = pdf_findfont($pdf, "ArialItalic", "host",0); pdf_setfont($pdf, $font, 12);
$y = 750;
// output data header
pdf_show_xy($pdf, "Category:", 50, $y);
$y -= 5;
// set the font - Arial 10
$font = pdf_findfont($pdf, "Arial", "host",0); pdf_setfont($pdf, $font, 10);
// output the data from Database
do
{ $y -= 15;
pdf_show_xy($pdf, $row_rsReportData['name'], 50, $y);
}
while ($row_rsReportData = mysql_fetch_assoc($rsReportData));
// ------ End output of the PDF Content ------//
// end page
pdf_end_page($pdf);
// close and save file
pdf_close($pdf);
$buf = pdf_get_buffer($pdf);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=report.pdf");
echo $buf;
pdf_delete($pdf);
?>
<?php
mysql_free_result($rsReportData);
?>
No comments:
Post a Comment