Konversi Hasil Pendaftaran Aplikasi PPDB versi 3 ke PDF

Konversi Hasil Pendaftaran Aplikasi PPDB versi 3 ke PDF

Pada saat saya membagikan Aplikasi PPDB Berbasis Web Versi 3 baik untuk data hasil pendaftaran, kartu peserta ataupun untuk hasil pengumuman ditampilkan dengan format tabel html biasa. Padahal sebenarnya kita bisa memanfaatkan plugins yang tersedia yaitu MPDF yang memang sudah ada dan sudah digunakan pada aplikasi ini khususnya pada halaman admin ppdb untuk keperluan backup data.

Berikut ini ada beberapa hal yang perlu dipersiapkan untuk mengupdate kemampuan aplikasi ppdb versi supaya bisa konversi hasil pendaftaran kedalam format file pdf.

Persiapan :
  1. Buat sebuah folder dengan nama ro-plugins
  2. Kemudian pindahkan folder MPDF yang terdapat pada folder ro-admin ke folder ro-plugins
  3. Selanjutnya buat folder dengan nama ro-content
  4. Kemudian buat sebuah kop surat sekolah berformat PNG dan simpan kedalam folder ro-content (file ini untuk header/kop surat ukurannya bisa 700x100 px)
Instalasi :
Beberapa file yang akan dirubah disini diantaranya : print-kartu.php, print-pengumuman.php, print-bukti.php dan ro-backup.php

1. print-kartu.php
Rubah atau replace script print-kartu.php menjadi seperti berikut

<?php
 // Define relative path from this script to mPDF
 $dokumen='KARTU PESERTA'; //Nama Dokumen
define('_MPDF_PATH','../ro-plugins/mpdf/'); //letak folder mpdf
include(_MPDF_PATH . "mpdf.php"); //panggil mpdf.php
$mpdf=new mPDF('utf-8', 'A4'); // Create new mPDF Document
 
//Beginning Buffer to save PHP variables and HTML tags
ob_start();
?>
<!--Koding mulai, Anda bisa jalankan kode php,html, css pada baris ini.-->

<?php 
include('../ro-databases/koneksi.php');
include('../ro-query/ro-print.php');
?>

<?php 
if(empty($no_pendaftaran)){
$no_pendaftaran="";
}
?>
<html>
<head>
<title>PRINT</title>
<style>
body {font-family: sans-serif;
  font-size: 9pt;
  background: transparent url(\'bgbarcode.png\') repeat-y scroll left top;
}
h5, p { margin: 0pt;
}
table.items {
  font-size: 9pt; 
  border-collapse: collapse;
  border: 3px solid #880000; 
}
td { vertical-align: top; 
}
table thead td { background-color: #EEEEEE;
  text-align: center;
}
table tfoot td { background-color: #AAFFEE;
  text-align: center;
}
.barcode {
  padding: 1.5mm;
  margin: 0;
  vertical-align: top;
  color: #000000;
}
.barcodecell {
  text-align: center;
  vertical-align: middle;
  padding: 0;
}
</style>
</head>
<body>
<div style="text-align: center;">
<img src="../ro-content/head.PNG" width="100%" height="auto"/><br/>
</div><br/>
<div style="text-align: center;">
<h3>KARTU PESERTA</h3><br/>
</div>
<table class="items" width="100%" cellpadding="8" border="1">
<tbody>
<tr>
<td colspan="2" align="center"><h4>No.Pendafataran: 00<?php echo $no_pendaftaran;?>/PNT-PPDB/<?php echo date("y");?></h4></td>
</tr>
<tr>
<td>Nama Siswa</td>
<td><?php echo $nama_siswa;?></td>
</tr>
<tr>
<td>NISN</td>
<td><?php echo $nisn?></td>
</tr>
<tr>
<td>Asal Sekolah</td>
<td><?php echo $nama_sekolah?></td>
</tr>
<tr>
<td>Tanggal Pendaftaran</td>
<td><?php echo $tanggal_pendaftaran?></td>
</tr>
</tbody>
</table>
<br/>
<div style="text-align: center; padding: 0.5mm; padding-top: 2mm;">
<barcode code="00034698735346987035" type="EAN128C" /><br />
<div style="font-family: ocrb;">(00) 0346987 35346987 00<?php echo $no_pendaftaran;?></div>
</div>
</body>
</html>
<?php
//batas kodingan 
$html = ob_get_contents();
ob_end_clean();
//Here convert the encode for UTF-8, if you prefer the ISO-8859-1 just change for $mpdf->WriteHTML($html);

$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML(utf8_encode($html));
$mpdf->Output($dokumen.".pdf" ,'I');
exit;
?>

2. print-pengumuman.php
Rubah atau replace script print-pengumuman.php menjadi seperti berikut

<?php
 // Define relative path from this script to mPDF
 $dokumen='BUKTI DITERIMA'; //Nama Dokumen
define('_MPDF_PATH','../ro-plugins/mpdf/'); //letak folder mpdf
include(_MPDF_PATH . "mpdf.php"); //panggil mpdf.php
$mpdf=new mPDF('utf-8', 'A4'); // Create new mPDF Document
 
//Beginning Buffer to save PHP variables and HTML tags
ob_start();
?>
<!--Koding mulai, Anda bisa jalankan kode php,html, css pada baris ini.-->

<?php 
include('../ro-databases/koneksi.php');
include('../ro-query/ro-print.php');

?>

<?php 
if(empty($no_pendaftaran)){
$no_pendaftaran="";
}
?>
<html>
<head>
<title>PRINT</title>
<style>
body {font-family: sans-serif;
  font-size: 9pt;
  background: transparent url(\'bgbarcode.png\') repeat-y scroll left top;
}
h5, p { margin: 0pt;
}
table.items {
  font-size: 9pt; 
  border-collapse: collapse;
  border: 3px solid #880000; 
}
td { vertical-align: top; 
}
table thead td { background-color: #EEEEEE;
  text-align: center;
}
table tfoot td { background-color: #AAFFEE;
  text-align: center;
}
.barcode {
  padding: 1.5mm;
  margin: 0;
  vertical-align: top;
  color: #000000;
}
.barcodecell {
  text-align: center;
  vertical-align: middle;
  padding: 0;
}
</style>
</head>
<body>
<div style="text-align: center;">
<img src="../ro-content/head.PNG" width="100%" height="auto"/><br/>
</div><br/>
<div style="text-align: center;">
<h3>BUKTI DITERIMA</h3><br/>
</div>
<p>Berdasarkan hasil peninjaun dan penilaian kami, maka kami menyatakan bahwa data siswa dibawah ini</p><br/>
<table class="items" width="100%" cellpadding="8" border="1">
<tbody>
<tr>
<td colspan="2" align="center"><h4>No.Pendafataran: 00<?php echo $no_pendaftaran;?>/PNT-PPDB/<?php echo date("y");?></h4></td>
</tr>
<tr>
<td>Nama Siswa</td>
<td><?php echo $nama_siswa;?></td>
</tr>
<tr>
<td>NISN</td>
<td><?php echo $nisn?></td>
</tr>
<tr>
<td>Asal Sekolah</td>
<td><?php echo $nama_sekolah?></td>
</tr>
<tr>
<td>Tanggal Pendaftaran</td>
<td><?php echo $tanggal_pendaftaran?></td>
</tr>
<tr>
<td colspan="2" align="center"><b>DINYATAKAN :</b></td>
</tr>
<tr>
<td style="text-transform: uppercase;" colspan="2" align="center"><h3>......<?php echo $status_pendaftaran; ?>......</h3></td>
</tr>
</tbody>
</table>
<br/>
<p>Bagi siswa yang telah dinyatakan diterima bisa langsung datang kembali ke sekolah dengan menyerahkan bukti ini kepada pihak sekolah</p><br/>
<div style="text-align: center; padding: 0.5mm; padding-top: 2mm;">
<barcode code="00034698735346987035" type="EAN128C" /><br />
<div style="font-family: ocrb;">(00) 0346987 35346987 00<?php echo $no_pendaftaran;?></div>
</div>
</body>
</html>
<?php
//batas kodingan 
$html = ob_get_contents(); 
ob_end_clean();
//Here convert the encode for UTF-8, if you prefer the ISO-8859-1 just change for $mpdf->WriteHTML($html);

$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML(utf8_encode($html));
$mpdf->Output($dokumen.".pdf" ,'I');
exit;
?>


3. print-bukti.php
Rubah atau replace script print-bukti.php menjadi seperti berikut ini

<?php
 // Define relative path from this script to mPDF
 $dokumen='BUKTI PENDAFTARAN'; //Nama Dokumen
define('_MPDF_PATH','../ro-plugins/mpdf/'); //letak folder mpdf
include(_MPDF_PATH . "mpdf.php"); //panggil mpdf.php
$mpdf=new mPDF('utf-8', 'A4'); // Create new mPDF Document
 
//Beginning Buffer to save PHP variables and HTML tags
ob_start();
?>
<!--Koding mulai, Anda bisa jalankan kode php,html, css pada baris ini.-->

<?php 
if(empty($no_pendaftaran)){
$no_pendaftaran="";
}
?>
<?php 
include('../ro-includes/head-ppdb.php'); 
include('../ro-query/ro-print.php');
?>
<style>
body {font-family: sans-serif;
  font-size: 9pt;
  background: transparent url(\'bgbarcode.png\') repeat-y scroll left top;
}
h5, p { margin: 0pt;
}
table.items {
  font-size: 9pt; 
  border-collapse: collapse;
  border: 3px solid #880000; 
}
td { vertical-align: top; 
}
table thead td { background-color: #EEEEEE;
  text-align: center;
}
table tfoot td { background-color: #AAFFEE;
  text-align: center;
}
.barcode {
  padding: 1.5mm;
  margin: 0;
  vertical-align: top;
  color: #000000;
}
.barcodecell {
  text-align: center;
  vertical-align: middle;
  padding: 0;
}
</style>
</head>
<body>
<div style="text-align: center;">
<img src="../ro-content/head.PNG" width="100%" height="auto"/><br/>
</div><br/>
<div style="text-align: center;">
<h3>BUKTI PENDAFTARAN</h3><br/>
</div>
<table class="items" width="100%" cellpadding="8" border="1">
<tbody>
<tr>
<td>Nomor Registrasi</td>
<td><b>00<?php echo $no_pendaftaran;?>/PNT-PPDB/<?php echo date("y");?></b></td>
</tr>
<tr>
<td colspan="2"><b>DATA SISWA</b></td>
</tr>
<tr>
<td>NISN</td>
<td><?php echo $nisn?></td>
</tr>
<tr>
<td>Nama Siswa</td>
<td><?php echo $nama_siswa;?></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td><?php echo $jenis_kelamin; ?></td>
</tr>
<tr>
<td>Tempat Lahir</td>
<td><?php echo $tempat_lahir;?></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td><?php echo $tanggal_lahir;?></td>
</tr>
<tr>
<td>Agama Siswa</td>
<td><?php echo $agama_siswa;?></td>
</tr>
<tr>
<td>Status Keluarga</td>
<td><?php echo $status_keluarga;?></td>
</tr>
<tr>
<td>Alamat Siswa</td>
<td><?php echo $alamat_siswa;?></td>
</tr>
<tr>
<td>HP</td>
<td><?php echo $hp_siswa;?></td>
</tr>
<tr>
<td colspan="2"><b>DATA ORANGTUA / WALI</b></td>
</tr>
<tr>
<td>Nama Ayah</td>
<td><?php echo $nama_ayah;?></td>
</tr>
<tr>
<td>Pendidikan Ayah</td>
<td><?php echo $pendidikan_ayah;?></td>
</tr>
<tr>
<td>Pekerjaan Ayah</td>
<td><?php echo $pekerjaan_ayah;?></td>
</tr>
<tr>
<td>Penghasilan Ayah</td>
<td><?php echo $penghasilan_ayah;?></td>
</tr>
<tr>
<td>Tlp/HP Ayah</td>
<td><?php echo $hp_ayah;?></td>
</tr>
<tr>
<td>Nama Ibu</td>
<td><?php echo $nama_ibu;?></td>
</tr>
<tr>
<td>Pendidikan Ibu</td>
<td><?php echo $pendidikan_ibu;?></td>
</tr>
<tr>
<td>Pekerjaan Ibu</td>
<td><?php echo $pekerjaan_ibu;?></td>
</tr>
<tr>
<td>Penghasilan Ibu</td>
<td><?php echo $penghasilan_ibu;?></td>
</tr>
<tr>
<td>Tlp/HP Ibu</td>
<td><?php echo $hp_ibu;?></td>
</tr>
<tr>
<td>Nama Wali</td>
<td><?php echo $nama_wali;?></td>
</tr>
<tr>
<td>Pendidikan Wali</td>
<td><?php echo $pendidikan_wali;?></td>
</tr>
<tr>
<td>Pekerjaan Wali</td>
<td><?php echo $pekerjaan_wali;?></td>
</tr>
<tr>
<td>Penghasilan Wali</td>
<td><?php echo $penghasilan_wali;?></td>
</tr>
<tr>
<td>Tlp/HP Wali</td>
<td><?php echo $hp_wali;?></td>
</tr>
<tr>
<td colspan="2"><b>DATA ASAL SEKOLAH</b></td>
</tr>
<tr>
<td>NPSN Sekolah</td>
<td><?php echo $npsn_sekolah; ?></td>
</tr>
<tr>
<td>Nama Sekolah</td>
<td><?php echo $nama_sekolah; ?></td>
</tr>
<tr>
<td>Status Sekolah</td>
<td><?php echo $status_sekolah; ?></td>
</tr>
<tr>
<td>Model Ujian</td>
<td><?php echo $model_ujian; ?></td>
</tr>
<tr>
<td>Alamat Sekolah</td>
<td><?php echo $alamat_sekolah; ?></td>
</tr>
<tr>
<td>Tahun Lulus</td>
<td><?php echo $tahun_lulus; ?></td>
</tr>
<tr>
<td>Tanggal Pendaftaran</td>
<td><?php echo $tanggal_pendaftaran; ?></td>
</tr>
</tbody>
</table>
<br/>
<div style="text-align: center; padding: 0.5mm; padding-top: 2mm;">
<barcode code="00034698735346987035" type="EAN128C" /><br />
<div style="font-family: ocrb;">(00) 0346987 35346987 00<?php echo $no_pendaftaran;?></div>
</div>
</body>
</html>
<?php
//batas kodingan 
$html = ob_get_contents(); 
ob_end_clean();
//Here convert the encode for UTF-8, if you prefer the ISO-8859-1 just change for $mpdf->WriteHTML($html);

$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML(utf8_encode($html));
$mpdf->Output($dokumen.".pdf" ,'I');
exit;
?>


4. ro-backup.php
Karena posisi plugins dipindah, maka jangan lupa rubah juga untuk ro-backup.php yang terdapat pada folder ro-admin.php menjadi seperti berikut ini


<?php
 // Define relative path from this script to mPDF
 $dokumen='BACKUP DATA PPDB'; //Nama Dokumen
define('_MPDF_PATH','../ro-plugins/mpdf/'); //letak folder mpdf
include(_MPDF_PATH . "mpdf.php"); //panggil mpdf.php
$mpdf=new mPDF('utf-8', 'A4'); // Create new mPDF Document
 
//Beginning Buffer to save PHP variables and HTML tags
ob_start();
?>
<!--Koding mulai, Anda bisa jalankan kode php,html, css pada baris ini.-->
<?php

//This code created by root93.co.id
//if you have any question
//contact me : myroot593@gmail.com

include('../ro-databases/koneksi.php');
$query="SELECT*FROM ro_formulir where status_pendaftaran='Diterima'";
$perintah=mysqli_query ($koneksi,$query) or die ("Gagal melakukan koneksi".mysqli_error());


?>
<html>
<head>
<style>
body {font-family: sans-serif;
  font-size: 9pt;
  background: transparent url(\'bgbarcode.png\') repeat-y scroll left top;
}
h5, p { margin: 0pt;
}
table.items {
  font-size: 9pt; 
  border-collapse: collapse;
  border: 3px solid #880000; 
}
td { vertical-align: top; 
}
table thead td { background-color: #EEEEEE;
  text-align: center;
}
table tfoot td { background-color: #AAFFEE;
  text-align: center;
}
.barcode {
  padding: 1.5mm;
  margin: 0;
  vertical-align: top;
  color: #000000;
}
.barcodecell {
  text-align: center;
  vertical-align: middle;
  padding: 0;
}
</style>
</head>
<body>
<div style="text-align: center;">
<img src="../ro-content/head.PNG" width="100%" height="auto"/><br/>
</div><br/>
<div style="text-align: center;">
<h3>DATA SEMUA SISWA DITERIMA</h3><br/>
</div>
<table class="items" width="100%" cellpadding="8" border="1">
<thead>
<tr>
<td>NAMA</td>
<td>NISN</td>
<td>ASAL SEKOLAH</td>
<td>NO.HP</td>
</tr>
</thead>
<tbody> 
<?php while($data=mysqli_fetch_array($perintah)){

 ?>    
<tr>  
<td><?php echo $data['nama_siswa'];?></td>
<td><?php echo $data['nisn'];?></td>
<td><?php echo $data['nama_sekolah'];?></td>
<td><?php echo $data['hp_siswa'];?></td>
</tr>
<?php }?>           
</tbody>           
</table>

            </body>
            </html>
<?php
//batas kodingan 
$html = ob_get_contents(); 
ob_end_clean();
//Here convert the encode for UTF-8, if you prefer the ISO-8859-1 just change for $mpdf->WriteHTML($html);

$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML(utf8_encode($html));
$mpdf->Output($dokumen.".pdf" ,'I');
exit;
?>



Ketiga perubahan pada file diatas juga bukan hanya sekedar menampilkan hasil pendaftaran kedalam format PDF tetapi juga saya implementasikan sistem barcode yang memang sudah tersedia pada MPDF itu sendiri. [ Baca : Membuat Barcode Pada Hasil Pendaftaran Menggunakan MPDF ]

Sampai disini kita telah berhasil mengupdate kemampuan aplikasi ppdb versi 3 supaya bisa mengkonversi data hasil pendaftaran, kartu peserta dan bukti diterima kedalam format file PDF.

Untuk penambahan kata  - kata didalam hasil pendaftaran atau bukti penerimaan seperti misal harus bawa materai,harus bawa foto dan lain sebagainya, Anda bisa tambah kata – katanya sendiri didalam script yang ada sesuai dengan keinginan. Mungkin diperlukan sedikit pemahaman tentang HTML dasar

Update ini juga akan tersedia dan nanti bisa Anda unduh pada halaman Aplikasi PPDB Berbasis Web Versi 3 dengan nomor 3.1 (barcode). Terima kasih semoga bermanfaat.


0 Response to "Konversi Hasil Pendaftaran Aplikasi PPDB versi 3 ke PDF"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin