Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Begini Cara Menampilkan Konten Custom Files ke File PDF dari PHPMaker 2021 dan FPDF
Menampilkan Tanggal Akhir dari Tanggal Awal Plus Sekian Hari di PHPMaker 2021
Menyesuaikan Item Secara Dinamis pada Control Combobox di PHPMaker 2021

Begini Cara Menampilkan Konten Custom Files ke File PDF dari PHPMaker 2021 dan FPDF

Sen, 19 April 2021 oleh Masino Sinaga 15 Komentar

Sekitar 5 tahun yang lalu, tepatnya tahun 2016, kita sudah pernah membahas bagaimana mudahnya mengekspor atau menampilkan konten dari Custom Files ke file PDF melalui bantuan FPDF. Buat yang belum tahu, ini artikel yang membahas hal tersebut: Mudahnya Mengekspor Konten Custom File ke File PDF dari PHPMaker dan FPDF.

Sayangnya, kode di artikel tersebut tidak bisa sepenuhnya digunakan di PHPMaker 2021. Penyebabnya karena PHPMaker yang kita gunakan 5 tahun lalu tersebut masih belum menggunakan namespace di PHP. Pada saat itu, versi PHP yang digunakan adalah versi jadul yang belum mendukung pemakaian namespace.

Sama seperti di artikel tadi, maka di tulisan ini, lagi-lagi kita masih tetap mengoptimalkan pemakaian Masino Extensions di project PHPMaker 2021, dimana sudah disertakan library FPDF. Library ini akan di-generate oleh PHPMaker 2021 pada sub-folder plugins/fpdf di sisi Aplikasi Web.

Oke, tanpa berlama-lama lagi… langsung saja ya. Untuk memulai, berikut sebuah contoh yang paling sederhana untuk mengekspor sebuah tulisan atau kalimat ke file PDF. Konten tulisan ini kita buat melalui fitur Custom Files di PHPMaker 2021.

Pertama, kita harus menambahkan sebuah Custom File baru. Klik kanan pada tulisan Custom Files yang terdapat di panel Database, lalu klik menu Add File.

Kedua, di jendela Custom File berikutnya, masukkan nama file (misalnya) fpdf_test.php di bagian File Name. Di bagian Caption, masukkan judulnya (misalnya) Test FPDF. Pastikan kali ini Anda mencentang Include common files, lalu klik tombol OK untuk menyimpan perubahan tersebut.

Ketiga, klik tab Code (Server Events, Client Scripts and Custom Templates), lalu lompat ke lokasi Custom Templates -> Table-Specific -> Custom File -> Content, lalu copy-kan kode PHP berikut ke dalam editor teks di sebelah kanannya:

<?php
    ob_end_clean(); // don't forget this at the beginning
    require('plugins/fpdf/fpdf.php'); // it is generated by Masino Extensions for PHPMaker 2021
    $pdf = new \FPDF(); // we use back slash in order to avoid error, since PHPMaker 2021 uses namespace
 
    // Add first page
    $pdf->AddPage();
 
    // Set initial x and y position per page
    $y_axis_initial = 15;
    $x_axis_initial = 25;
 
    // Set Font Name and Size
    $pdf->SetFont('Arial','',12);
 
    // Set Y and X initial position
    $pdf->SetY($y_axis_initial);
    $pdf->SetX($x_axis_initial);
 
    // Print it out now ...
    $pdf->Cell(170, 4, "Halo, ini untuk mencoba FPDF di Custom Files pada PHPMaker 2021.", 0, 0, 'L', 0); // left-align, width: 170
    ob_end_clean(); // don't forget this before saving the content to pdf file
    $pdf->Output("fpdf_test.pdf", "D"); // save and download the content to "fpdf_test.pdf" file
?>

Jika kita perhatikan kode yang terdapat di artikel ini lalu kita bandingkan dengan kode yang saya share pada tahun 2016 yang lalu itu, maka hanya ada sedikit saja perbedaannya.

Pertama, kita harus menempatkan kode ob_end_clean(); di awal sebelum kode yang menyertakan library FPDF-nya.

Kedua, untuk memanggil atau menciptakan object FPDF dari class FPDF, maka kita harus menambahkan awalan karakter back slash sebelum FPDF(), yaitu: $pdf = new \FPDF();. Hal ini wajib, karena sejak versi 2020, PHPMaker menggunakan namespace.

Ketiga, sebelum menyimpan konten ke dalam file PDF, kita harus menambahkan kembali kode ob_end_clean();. Jika tidak, maka konten dari Custom Files tadi tidak akan pernah berhasil tersimpan dengan sempurna ke file PDF.

Betapa cepat dan mudahnya bukan? Hanya dengan sedikit perubahan kode itu saja, yang pernah kita buat 5 tahun yang lalu, sekarang di tahun 2021, kode tersebut bisa kita gunakan kembali dari Custom Files di PHPMaker 2021.

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, Custom Files, FPDF, PHPMaker 2021, PHPMaker Indonesia, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com, ilovephpmaker.com, dan phpmakerprojects.com.

Menampilkan Tanggal Akhir dari Tanggal Awal Plus Sekian Hari di PHPMaker 2021
Menyesuaikan Item Secara Dinamis pada Control Combobox di PHPMaker 2021

Komentar

  1. Axe Cool mengatakan

    Sel, 20 April 2021 pada 1:44 am

    Mas saya mau tanya ..
    kenapa ya kok template bawaan maker yang saya generate tidak responsive kalo buat menunya dibuat sidebar ?
    padahal kalo buat di navbar aman aman saja..apakah ini bug ? atau saya yg salah config ya ?
    mohon bantuannya om.

    Balas
    • Masino Sinaga mengatakan

      Sel, 20 April 2021 pada 7:12 am

      Pakai PHPMaker versi berapa?

      Balas
      • Axe Cool mengatakan

        Sel, 20 April 2021 pada 7:45 am

        PHPmaker 2021 om masino..

        Balas
        • Masino Sinaga mengatakan

          Sel, 20 April 2021 pada 8:16 am

          PHPMaker 2021 itu lengkapnya yang versi berapa minornya? 2021.0.1, 2021.0.2, 2021.0.3, dst… yang mana?

          Balas
          • Axe Cool mengatakan

            Sel, 20 April 2021 pada 10:05 am

            Saya masih pakai Versi 2021.0.11 mas

            Balas
            • Masino Sinaga mengatakan

              Sel, 20 April 2021 pada 10:16 am

              Update ke versi 2021.0.12.

              Uninstall dulu yang 2021.0.11, lalu install yang 2021.0.12.

              Balas
              • Axe Cool mengatakan

                Sel, 20 April 2021 pada 11:49 am

                Sudah diupdate ke 2021.0.12 masih sama mas..tetep ada kaya scroll bar horizontal karena ga responsive ..padahal kalo top menu aman mas

                Balas
                • Masino Sinaga mengatakan

                  Sel, 20 April 2021 pada 1:36 pm

                  Yang tidak responsive itu table-nya kah? Kalau iya, coba gunakan extension FixedHeaderTable.

  2. john mengatakan

    Jum, 23 April 2021 pada 5:59 am

    Mantap Pa sudah dibahas lengkap disini pa trima kasih

    Balas
    • Masino Sinaga mengatakan

      Sel, 27 April 2021 pada 4:27 pm

      Sama-sama om John.

      Balas
  3. Dendi mengatakan

    Sab, 21 Agustus 2021 pada 3:21 pm

    {Versi 2021}
    Pak, di versi 2021 ini saya kok masih engga bisa untuk memanggil fungsi nya dari “Endroid PHP Qr Code” dari Custom File ya ?

    error di pemanggilan fungsi ini :

    QRCode::png($isi_teks,$tempdir.$namafile,QR_ECLEVEL_H,$ukuran,$padding);
    

    sedangkan Script selengkapnya seperti ini :

    <?php
    //include "vendor/phpqrcode/qrlib.php";
    include "vendor/phpqrcode/qrlib.php";
      //include_once "autoload.php";  
      
    $tempdir = "temp/"; 
    if (!file_exists($tempdir))
        mkdir($tempdir);
      
        //isi QRCode saat discan
        $isi_teks = "Teks Contoh";
        //direktori dan nama logo
        $logopath = 'wa.png';
        //namafile setelah jadi qrcode
        $namafile = "contoh_file.png";
        //kualitas dan ukuran qrcode
        $quality = 'H'; 
        $ukuran = 12; 
        $padding = 0;
     
      	//$qrCode = new \QRCode($isi_teks);
        QRCode::png($isi_teks,$tempdir.$namafile,QR_ECLEVEL_H,$ukuran,$padding);
        $filepath = $tempdir.$namafile;
        $QR = imagecreatefrompng($filepath);
     
        $logo = imagecreatefromstring(file_get_contents($logopath));
        $QR_width = imagesx($QR);
        $QR_height = imagesy($QR);
     
        $logo_width = imagesx($logo);
        $logo_height = imagesy($logo);
     
        //besar logo
        $logo_qr_width = $QR_width/2.5;
        $scale = $logo_width/$logo_qr_width;
        $logo_qr_height = $logo_height/$scale;
     
        //posisi logo
        imagecopyresampled($QR, $logo, $QR_width/3.3, $QR_height/2.5, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
     
        imagepng($QR,$filepath);
      ?>
      <img src="temp/<?php echo $namafile; ?>">
    

    Script diatas sudah berjalan baik di halaman PHP sendiri (tanpa PHP Maker) sedangkan jika dimasukkan ke Custom File muncul error :

    Call to undefined method PHPMaker2021\sekolah\QrCode::png()
    
    Balas
    • Dendi mengatakan

      Sab, 21 Agustus 2021 pada 3:28 pm

      ralat yang error diatas dari Library “PHP QrCode”,

      sedangkan Fungsi dari Library “PHP Barcode Generator” bisa berfungsi, dengan menambahkan “\” :

      new \Picqer\Barcode\BarcodeGeneratorHTML();
      
      Balas
      • Masino Sinaga mengatakan

        Ming, 22 Agustus 2021 pada 9:29 am

        Artinya sekarang sudah bisa kan? Tidak ada error lagi?

        Balas
        • Dendi mengatakan

          Ming, 22 Agustus 2021 pada 6:57 pm

          untuk script yang panjang diatas tetap belum bisa (yang QrCode) , saya sambil cari-cari referensi juga masih belum bisa.

          ini masih cari alternatif Library lain untuk QrCode nya,
          sementara yang PHP Barcode Generator (Barcode biasa) bisa berjalan normal.

          Balas
          • Masino Sinaga mengatakan

            Sen, 23 Agustus 2021 pada 9:53 am

            Untuk QRCode, coba pelajari lagi dokumentasinya. Seharusnya bisa.

            Pastikan output dari variable yang menghasilkan QRCode tadi bisa diintegrasikan ke dalam variabel yang menghasilkan file PDF.

            Contohnya kira-kira seperti ini (saya coba di versi 2020 dan berhasil):

                ob_end_clean();
                require_once('qrcode/qrcode.class.php'); // sesuaikan dengan lokasi file ybt
                require('plugins/fpdf/fpdf.php'); // sesuaikan dengan lokasi file ybt
                $pdf = new \FPDF();  
                $pdf->AddPage();
                ... // <-- kode untuk menyusun konten ke dalam PDF
                ... // <-- kode untuk menyusun konten ke dalam PDF
                ... // <-- kode untuk menyusun konten ke dalam PDF
                ... // <-- dst... dst...
                $qrcode = new \QRcode("contoh data untuk qrcode di sini...", "H"); // error level : L, M, Q, H
                $x = 160;
                $y = 44;
                $w = 36;
                $qrcode->disableBorder();
                $qrcode->displayFPDF($pdf, $x, $y, $w, array(255,255,255), array(0,0,0));
                ob_end_clean();
                $pdf->Output("Nama_File.pdf", "D"); // simpan semuanya ke file PDF
            
            Balas

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Pos-pos Terbaru

  • Alasan 20 Harus Pakai Masino Extensions: Maximum Record per Page
  • Alasan 19 Harus Pakai Masino Extensions: Custom Breadcrumb Links
  • Alasan 18 Harus Pakai Masino Extensions: Improvement User Level Permissions
  • Alasan 17 Harus Pakai Masino Extensions: Dynamic Permission for Export Data
  • Alasan 16 Harus Pakai Masino Extensions: Confirm Before Save

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Demo Masino Extensions for PHPMaker 2026 – Masino Sinaga pada Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Masino Sinaga pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Angg* pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Masino Sinaga pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Masino Sinaga pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2026 | WordPress | Catat masuk | Kembali ke atas