This is another PHP pdf export feature tutorial, I will create a simple PHP script to fetch data from MySQL and create a pdf file using PHP. We will use third-party PHP FPDF library. Show The FPDF is a very awesome PHP class to generate PDF using PHP from MySQL database. This is open source PHP library to generate pdf file using PHP. PDF is a very common and popular file format to read, view, and write documents.PDF format is independent of application software, hardware, and operating systems. FPDF has the following main features
Video Tutorial:If you are more comfortable in watching a video that explains about using pdf generation, then you should watch this video tutorial. There is one dependency php extension which is Zlib to enable compression and GD for GIF image support. The latest version requires at least PHP 5.1.
We will follow following steps to Generate PDF
Step 1: We will create employee table into MySQL database. -- -- Table structure for table `employee` -- CREATE TABLE IF NOT EXISTS `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key', `employee_name` varchar(255) NOT NULL COMMENT 'employee name', `employee_salary` double NOT NULL COMMENT 'employee salary', `employee_age` int(11) NOT NULL COMMENT 'employee age', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='datatable demo table' AUTO_INCREMENT=64 ; We will generate some sample data and insert it into the employee table. -- -- Dumping data for table `employee` -- INSERT INTO `employee` (`id`, `employee_name`, `employee_salary`, `employee_age`) VALUES (1, 'Tiger Nixon', 320800, 61), (2, 'Garrett Winters', 170750, 63), (3, 'Ashton Cox', 86000, 66), (4, 'Cedric Kelly', 433060, 22), (5, 'Airi Satou', 162700, 33), (6, 'Brielle Williamson', 372000, 61), (7, 'Herrod Chandler', 137500, 59), (8, 'Rhona Davidson', 327900, 55), (9, 'Colleen Hurst', 205500, 39), (10, 'Sonya Frost', 103600, 23), (11, 'Jena Gaines', 90560, 30), (12, 'Quinn Flynn', 342000, 22), (13, 'Charde Marshall', 470600, 36), (14, 'Haley Kennedy', 313500, 43), (15, 'Tatyana Fitzpatrick', 385750, 19), (16, 'Michael Silva', 198500, 66); Step 2: Let’s connect MySQL database with PHP. We will create Class dbObj{ /* Database connection start */ var $dbhost = "localhost"; var $username = "root"; var $password = ""; var $dbname = "test"; var $conn; function getConnstring() { $con = mysqli_connect($this->dbhost, $this->username, $this->password, $this->dbname) or die("Connection failed: " . mysqli_connect_error()); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } else { $this->conn = $con; } return $this->conn; } } The above file is used to connect and select MySQL database using PHP. You need to change $dbhost, $username, $password, and $dbname variable’s value with your database credentials. Step 3: We will create Image('logo.png',10,-1,70); $this->SetFont('Arial','B',13); // Move to the right $this->Cell(80); // Title $this->Cell(80,10,'Employee List',1,0,'C'); // Line break $this->Ln(20); } // Page footer function Footer() { // Position at 1.5 cm from bottom $this->SetY(-15); // Arial italic 8 $this->SetFont('Arial','I',8); // Page number $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } $db = new dbObj(); $connString = $db->getConnstring(); $display_heading = array('id'=>'ID', 'employee_name'=> 'Name', 'employee_age'=> 'Age','employee_salary'=> 'Salary',); $result = mysqli_query($connString, "SELECT id, employee_name, employee_age, employee_salary FROM employee") or die("database error:". mysqli_error($connString)); $header = mysqli_query($connString, "SHOW columns FROM employee"); $pdf = new PDF(); //header $pdf->AddPage(); //foter page $pdf->AliasNbPages(); $pdf->SetFont('Arial','B',12); foreach($header as $heading) { $pdf->Cell(40,12,$display_heading[$heading['Field']],1); } foreach($result as $row) { $pdf->Ln(); foreach($row as $column) $pdf->Cell(40,12,$column,1); } $pdf->Output(); ?> We will include connection and pdf libs file, for customization of header and footer of pdf files, we will override header and footer methods and define our css design. Step 4: We will create <meta charset="UTF-8"> <title>Simple Example of PDF file using PHP and MySQL</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <div class="container" style="padding-top:50px"> <h2>Generate PDF file from MySQL Using PHP</h2> <form class="form-inline" method="post" action="generate_pdf.php"> <button type="submit" id="pdf" name="generate_pdf" class="btn btn-primary"><i class="fa fa-pdf" "="" aria-hidden="true"></i> Generate PDF</button> </form> </div> We
have added HTML form tag and define the action value Conclusion:We have generated pdf file using PHP and MySQL database, You can generate pdf using another database as well. You just need to create connections with another type of databases. You can download source code and see Demo from the below link. How can I export data from PHP to PDF?php require('fpdf/fpdf. php'); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',12); foreach($result as $row) { $pdf->SetFont('Arial','',12); $pdf->Ln(); foreach($row as $column) $pdf->Cell(90,12,$column,1); } $pdf->Output(); ?>
Can MySQL store pdfs?A Binary Large Object ( BLOB ) is a MySQL data type that can store binary data such as images, multimedia, and PDF files.
Can PHP be used to display PDF?In this article, you will learn how to display a PDF file on a webpage using the PHP programming language. PDF is one of the most trusted document formats. PHP provides simple functionality to embed PDF files. It has a very simple implementation.
What library is used for PDF in PHP?DomPDF. DomPDF is one of the oldest and most widely-used PHP HTML-to-PDF libraries. Unfortunately, it only supports HTML and CSS, not JavaScript.
|