Sabtu, 02 April 2016

Membuat Fungsi Print Pdf Dengan PHP MySQL

Assalamualaikum Wr. Wb.

Hari ini saya membuat fungsi html2pdf untuk mencetak suatu data seseorang dan hasilnya bisa langsung di di cetak di kertas.

Tutorial

1. Download html2pdf.rar kemudian extrak di file direktori var/www/html/ (nama folder anda) contohnya sebagai berikut :

a. Masuk keterminal ketikan.
#sudo su
#password
# caja


b. Klik kanan pada file html2pdf.rar pilih extrack here hingga muncul folder seperti ini.


2. Buat database di php MyAdmin dengan nama print dan nama tabelnya data seperti gambar di bawah ini.

a. Klik create untuk membuat database.




b. Buat tabelnya yang isinya seperti ini.


c. Masuk keterminal ketikan untuk mengisi tabel tersebut.
#sudo su
#password
#mysql -u root -p
# show databases (untuk melihat database yang kita buat tadi)
#desc data (untuk melihat isi tabel)
# insert into (nama_tabel) values (); (untuk mengisi data dalam tabel)


d.Mari kita lihat di php MyAdmin isi tabel sudah masuk atau belum, ternyata tabelnya sudah terisis data.


3. Sekarang mari kita buat file php nya contoh seperti di bawah ini.

a. Buat file koneksinya terlebih dahulu dengan nama dbconfig.php dan simpan di file direktori var/www/html/print silahkan copy saja script di bawah ini.

 <?php
$host = "localhost";
$user = "root"; //sesuaikan
$password = "thoni"; //sesuaikan
$datbase = "print"; // sesuaikan
mysql_connect($host,$user,$password);
mysql_select_db($datbase);
?>

b. Buat file index.php dan simpan di file direktori var/www/html/print silahkan copy saja script di bawah ini.

  <?php
    include_once("dbconfig.php");
    
    //buat query untuk menampilkan berita
    $query = mysql_query("SELECT * FROM data ORDER BY nama");
    
    ?>
    <style>
    body{
        background-color :cyan;

    }
     table{
      border:silver 1px solid;
     }
     table td{
      border-bottom:silver 1px solid;
      border-right:silver 1px solid;
      padding:0 0 0 5px;
     }
    </style>
    <table cellpadding="0" cellspacing="0" style="font-family:Verdana, Geneva, sans-serif">
      <!--DWLayoutTable-->
      <tr>
        <td height="25" colspan="7" align="center"><strong>DAFTAR DATA SISWA</strong></td>
      </tr>
      <tr>
        <td height="25" align="center" style="background-color:#CCC"><strong>NO</strong></td>
        <td width="100" align="center" style="background-color:#CCC"><strong>NIS</strong></td>
        <td width="250" align="center" style="background-color:#CCC"><strong>NAMA</strong></td>
        <td width="150" align="center" style="background-color:#CCC"><strong>ALAMAT</strong></td>
        <td width="150" align="center" style="background-color:#CCC"><strong>TGL LAHIR</strong></td>
        <td width="150" align="center" style="background-color:#CCC"><strong>TELEPON</strong></td>
         <td width="100" align="center" style="background-color:#CCC"><strong>ANGKATAN</strong></td>
      </tr>
    <?php
    $nomor = 1;
    while($data = mysql_fetch_array($query)){
    $kode = $data['nis']; // ambil nis siswa (unik)
    ?>
      <tr>
        <td width="38" height="25" valign="middle"><?php echo $nomor; ?></td>
        <td valign="middle"><?php echo $data['nis']; ?></td>
        <td valign="middle"><?php echo $data['nama']; ?></td>
        <td valign="middle"><?php echo $data['alamat']; ?></td>
        <td valign="middle"><?php echo $data['tgl_lahir']; ?></td>
        <td valign="middle"><?php echo $data['telp']; ?></td>
        <td valign="middle"><?php echo $data['angkatam']; ?></td>
        <td valign="middle">
     <!-- BUAT LINK POP UP KE HALAMAN PDF KONVERTER SEPERTI PADA CONTOH BERIKUT -->
     <a href="javascript:void(0);"
        onclick="window.open('report.php?kode=<?php echo $kode; ?>','nama_window_pop_up','size=800,height=800,scrollbars=yes,resizeable=no')">PDF</a>
     </td>
       </tr>
    <?php
    $nomor++;
    }
    ?>
    </table>

 c. Buat file report.php dan simpan di file direktori var/www/html/print silahkan copy saja script di bawah ini.

<?php 
session_start(); 
ob_start(); 
include_once("dbconfig.php"); //buat koneksi ke database 
$kode   = $_GET['kode']; //kode berita yang akan dikonvert 
$query  = mysql_query("SELECT * FROM data WHERE nis='".$kode."'"); 
$data   = mysql_fetch_array($query); 
 
?> 
<html xmlns="http://www.w3.org/1999/xhtml"> <!-- Bagian halaman HTML yang akan konvert --> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title><?php echo $data['nis']; ?></title> 
</head> 
<body> 
<?php 
echo "<h1>".$data['nis']."</h1>";  
echo '<table border="0"> 
  <tr> 
    <td width="100">NAMA</td> 
    <td width="10">:</td> 
    <td width="250">'.$data['nama'].'</td> 
  </tr> 
  <tr> 
    <td>TGL LAHIR</td> 
    <td>:</td> 
    <td>'.$data['tgl_lahir'].'</td> 
  </tr> 
  <tr> 
    <td>ALAMAT</td> 
    <td>:</td> 
    <td>'.$data['alamat'].'</td> 
  </tr> 
   <tr> 
    <td>TELEPON</td> 
    <td>:</td> 
    <td>'.$data['telp'].'</td> 
  </tr> 
  <tr> 
    <td>ANGKATAN</td> 
    <td>:</td> 
    <td>'.$data['angkatan'].'</td> 
  </tr> 
</table>'; 
 
echo "<p>data yang tertera di atas adalah mahasiswa universitas ini.</p>"; 
echo "<p align='right'>MALANG, ".date('d-m-Y')." 
<img src='ttd.png' width='120'> 
( Achmad Sulthoni )</p>"; 
?> 
</body> 
</html><!-- Akhir halaman HTML yang akan di konvert --> 
<?php 
$filename="mhs-".$kode.".pdf"; //ubah untuk menentukan nama file pdf yang dihasilkan nantinya 
//========================================================================================================== 
//Copy dan paste langsung script dibawah ini,untuk mengetahui lebih jelas tentang fungsinya silahkan baca-baca tutorial tentang HTML2PDF 
//========================================================================================================== 
$content = ob_get_clean(); 
$content = '<page style="font-family: freeserif">'.nl2br($content).'</page>'; 
 require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php'); 
 try 
 { 
  $html2pdf = new HTML2PDF('P','A4','en', false, 'ISO-8859-15',array(30, 0, 20, 0)); 
  $html2pdf->setDefaultFont('Arial'); 
  $html2pdf->writeHTML($content, isset($_GET['vuehtml'])); 
  $html2pdf->Output($filename); 
 } 
 catch(HTML2PDF_exception $e) { echo $e; } 
?>

4. Kemudian kita coba hasilnya dengan cara tuliskan di web browser localhost/print/

a. Hasilnya seperti ini.


b. Bila di klik pdf akan mencetak data tersebut contohnya saya klik no 1 yang bernama achmad dan hasilnya seperti ini.


c. Hasilnya akan berbentuk pdf.



d. Bila tanda tangan tidak muncul itu karena anda harus menyisipkan gambar tanda tangan anda di file direktori var/www/html/print dengan nama gambarnya ttd.png contoh seperti ini.



 Info : Bila data tabel anda tidak muncul kemungkinan anda harus menyesuaikan dengan nama database dan nama tabel anda pada script php di atas tadi.

Sekian dari saya semoga postingan ini bermanfaat bagi anda semuanya.

Wassalamualaikum Wr. Wb.



5 komentar:

kok saya muncul tulisan "TCPDF ERROR: Some data has already been output, can't send PDF file" terus ya?


Warning: require_once(html2pdf/html2pdf.php): failed to open stream: No such file or directory in C:\xampp\htdocs\kp\admin\print.php on line 57

Fatal error: require_once(): Failed opening required 'html2pdf/html2pdf.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\kp\admin\print.php on line 57

min ini kenapa yah ?

terima kasih ... sangat membantu sekali (y)

minta link download file html2pdf nya lah bang

Assalamualaikum kak. Coding Cara menampilkan ttd.x disitu yang mna?

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More