Belajar Php MySQL Php Php Dan MySQL Tutorial Php

Cara Lengkap Membuat Laporan PDF Dengan ezpdf Di Php

pengalaman seorang teman ngomong gini… membuat laporan ke PDF itu susah ya di PHP. langsung saya jawab sangat-sangat mudah dalam 1 menit saja siap kok.

jaman yang sudah modern ini semua pekerjaan telah dipermudah dengan teknologi. Membuat Laporan ke PDF itu GAMPANG…

asal tau caranya…. tapi jangan anggap remeh.

dibawah ini kita akan bahas secara lengkap membuat laporan PDF berdasarkan data yang diinginkan.

sekilas tentang PDF

PDF (Portable Document Format) merupakan salah satu pilihan format laporan yang sering digunakan dalam aplikasi berbasis web. Kelebihannya antara lain formatnya yang standar dan dapat ditampilkan di semua platform sistem operasi (cross platform). Selain itu, format PDF lebih terjamin dari sisi keamanan dan kevalidan data yang disajikan. PDF juga lebih mudah disimpan atau diarsip karena dalam bentuk file. Namun disisi lain, kekurangan dari PDF adalah saat ini masih jarang tersedia library pembuatan PDF berbasis web yang cukup mudah digunakan namun handal.

Untuk urusan PDF, library seperti FPDF dan TCPDF sangat disarankan. Library tersebut dapat digunakan untuk meng-generate file PDF secara on-the-fly di browser. Namun perlu diingat untuk kita yang masih pemula, pasti akan kesulitan dalam mengimplementasikan library tersebut, karena cukup susah dalam penempatan objek-objek laporan, terutama jika laporannya sudah kompleks.

oleh karena hal itu penulis menempatkan pilihan pada Class.Ezpdf karena Class.Ezpdf ringan serta mudah dipelajari, apalagi pemula seperti kita, Class.Ezpdf juga sudah ter-include dalam server xampp, coba chek di Xampp/php/PEAR.

langsung saja ikuti tutorial dibawah ini untuk membuat laporan PDF dengan EZPDF

dalam tutorial ini saya membuat lapran data siswa…

langkah pertama seperti biasa kita buat sebuah database dengan nama “pdf”

import atau dump database dibawah ini

-- phpMyAdmin SQL Dump
-- version 3.3.9
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Aug 26, 2016 at 04:22 AM
-- Server version: 5.5.8
-- PHP Version: 5.3.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `smabukit`
--

-- --------------------------------------------------------

--
-- Table structure for table `tblsiswa`
--

CREATE TABLE IF NOT EXISTS `tblsiswa` (
  `nis` int(10) NOT NULL,
  `nama_siswa` varchar(30) NOT NULL,
  `tempat_lahir` varchar(30) NOT NULL,
  `tgl_lahir` date NOT NULL,
  `alamat` text NOT NULL,
  `kelas` varchar(10) NOT NULL,
  `semester` enum('1','2') NOT NULL,
  `jenis_kelamin` enum('Laki-laki','Perempuan') NOT NULL,
  `agama` varchar(10) NOT NULL,
  `foto` varchar(25) NOT NULL,
  PRIMARY KEY (`nis`),
  KEY `kelas` (`kelas`),
  KEY `kelas_2` (`kelas`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tblsiswa`
--

INSERT INTO `tblsiswa` (`nis`, `nama_siswa`, `tempat_lahir`, `tgl_lahir`, `alamat`, `kelas`, `semester`, `jenis_kelamin`, `agama`, `foto`) VALUES
(1208, 'Andi Sulistiyono', 'Bale Atu', '1998-03-12', 'Bale Atu', 'X - 3', '1', 'Laki-laki', 'Islam', ''),
(1211, 'Angga Setiawan', 'Rembele', '1998-09-07', 'Rembele', 'X - 1', '1', 'Laki-laki', 'Islam', ''),
(1214, 'Anis Tri Lusiyani', 'Takengon', '1998-05-25', 'Simpang Tiga', 'X - 2', '1', 'Perempuan', 'Islam', ''),
(1219, 'Atia Al Kamila', 'Simpang Teritit', '1999-04-12', 'Pasar Simpang Tiga', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1220, 'Ayu Cahyaningrum A', 'Aceh Tengah', '1998-03-01', 'Pasar Simpang Tiga', 'X - 2', '1', 'Perempuan', 'Islam', ''),
(1221, 'Ayub Febrila Andhika', 'Hakim Tungul Naru', '1998-03-17', 'Hakim Tungul Naru', 'X - 2', '1', 'Perempuan', 'islam', 'foto siswa.jpg'),
(1223, 'Beny Azhar Helmy', 'Pante Raya', '0000-00-00', 'Pante Raya', 'X - 2', '1', 'Laki-laki', 'Islam', ''),
(1224, 'Carissa Komalasari', 'Kenawat', '1998-10-18', 'Kenawat', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1225, 'Chepy Anggraini', 'Blang Sentang', '1999-05-18', 'Blang Sentang', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1227, 'Dahlia Faizatul Aina', 'Pondok Sayur', '1998-09-20', 'Pondok Sayur', 'X - 2', '1', 'Perempuan', 'islam', 'foto siswa.jpg');

--
-- Constraints for dumped tables
--

--
-- Constraints for table `tblsiswa`
--
ALTER TABLE `tblsiswa`
  ADD CONSTRAINT `tblsiswa_ibfk_1` FOREIGN KEY (`kelas`) REFERENCES `kelas` (`kelas`) ON DELETE CASCADE ON UPDATE CASCADE;

buat folder baru di htdocs anda dengan nama tes_pdf lalu copy file class.ezpdf.php yang berada di folder xampp/php/PEAR kedalam folder tes_pdf.

copy script dibawah ini simpan dengan nama connect.php

<?
parse_str("$QUERY_STRING");

$db = mysql_connect("localhost", "root", "") or die("Could not connect.");
if(!$db) die("no db");
$dbname = "pdf";
if(!mysql_select_db($dbname,$db))
 	die("No database selected.");
extract($_REQUEST, EXTR_OVERWRITE, ''); 

$active = 1;
?>

silakan disesuaikan dengan koneksi localhost anda

selanjutnya buat sebuah file lagi dengan nama print_pdf.php copy script dibawah ini kedalamnya

<?php

include "connect.php";
include ('class.ezpdf.php');
$pdf = new Cezpdf('a4','landscape');

	

		// Atur margin
		$pdf->ezSetCmMargins(2, 3, 3, 3);

		$pdf->addObject($all, 'all');
		$pdf->closeObject();

			
		$sql = mysql_query("SELECT * FROM tblsiswa "); 	 	
		$i = 1;
		while($r = mysql_fetch_array($sql)) {
			 
			$data[$i]=array('No'=> $i, 	 	 	
							'NIS'=>$r[nis],
							'Nama'=>$r[nama_siswa],
							'Alamat'=>$r[alamat],
							'Kelas'=>$r[kelas]
							);
								

			$i++;

			
		}
		
		$pdf->ezStartText(100, 557, 12);
		$pdf->ezStartText2(500, 557, 12);
		$pdf->ezStartPageNumbers(35, 15, 10);
		$pdf->ezTable($data, '', '', '');
		$pdf->ezStream();
?>

kemudian silakan dijalankan di localhost anda dan lihat hasilnya. berikut hasil punya saya

laporan pdf ezpdf php

laporan pdf ezpdf php

dari tutorial diatas saya hanya menampilkan nis, nama, alamat, kelas. sedangkan dalam database tadi terdapat tanggal lahir, semester dan seterusnya.

bagaimana caranya jika kita ingin semua data ditampilkan

cara mudah saja

kita tinggal perlu edit dibagian ini  'NIS'=>$r[nis], 'Nama'=>$r[nama_siswa], 'Alamat'=>$r[alamat], 'Kelas'=>$r[kelas] );

contoh saya akan menampilkan nis, nama, alamat, kelas, semester. maka scriptnya ditambah seperti ini

$data[$i]=array('No'=> $i, 	 	 	
'NIS'=>$r[nis],
'Nama'=>$r[nama_siswa],
'Alamat'=>$r[alamat],
'Kelas'=>$r[kelas],
'Semester'=>$r[semester]
);

hasilnya seperti gambar dibawah ini

2016-08-26_10h26_00

silakan berargumen sendiri dari script diatas

sekian tutorial Cara Lengkap Membuat Laporan PDF Dengan ezpdf Di Php ini semoga dapat bermanfaat

salam programmer

About the author

adies

Ada Komentar?

×