Masino Sinaga

Web Development, PHPMaker, & PHP Report Maker

Anda di sini: Beranda / PHPMaker / Mudahnya Mengekspor Konten Custom File ke File PDF dari PHPMaker dan FPDF
Wow! Aplikasi Web dengan Database SQL Server Sekarang Bisa Hosting di Linux!
Menghitung Selisih Hari dari Dua Buah Tanggal dengan Javascript dari PHPMaker

Mudahnya Mengekspor Konten Custom File ke File PDF dari PHPMaker dan FPDF

Mei 9, 2016 oleh Masino Sinaga 29 Komentar

Seperti yang diketahui, PHPMaker menggunakan extension DOMPDF untuk mengekspor data dari halaman List dan View ke file PDF. Konten data di kedua halaman ini tentu saja layout-nya standar, karena bawaan hasil generate PHPMaker.

Pada halaman List, data dikemas dalam bentuk table, di mana setiap field disusun secara horizontal. Sedangkan pada halaman View, data dikemas secara vertical dalam dua kolom; judul atau label field di sebelah kiri, dan datanya di sebelah kanan.

Kadang-kadang, kita sebagai Web Developer dituntut untuk dapat menghasilkan fitur yang bisa mengekspor data dan layout yang kostum pula ke dalam file PDF. Karena data dan layout bersifat kostum, atau tidak standar dari bawaan PHPMaker, maka kita bisa mengoptimalkan fitur Custom Files. Masih ingat dengan fitur itu di PHPMaker, kan?

Karena adanya keterbatasan pada extension DOMPDF di atas, maka konten atau data pada Custom Files tadi akan kita ekspor ke file PDF menggunakan library FPDF. FPDF adalah sebuah class PHP yang dapat menghasilkan file PDF dengan menggunakan murni kode PHP. Huruf F pada FPDF merupakan singkatan dari Free, yang artinya Anda dapat menggunakannya untuk keperluan apapun dan memodifikasinya bebas sesuai kebutuhan Anda.

Beruntunglah Anda yang membangun Aplikasi Web dengan menggunakan PHPMaker dan Masino Extensions. Mengapa? Karena dengan menggunakan PHPMaker, kita bisa mengoptimalkan fitur Custom Files. Dengan menggunakan Masino Extensions, maka kita tidak perlu lagi men-download library FPDF tadi, karena Masino Extensions sudah menyertakan FPDF di dalamnya.

Berikut ini saya akan menunjukkan kepada Anda 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.

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) custom1.php di bagian File Name. Di bagian Caption, masukkan judulnya (misalnya) Custom One. Pastikan Anda TIDAK MENCENTANG item 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
	require('fpdf/fpdf.php');
	ob_end_clean();
	$pdf = new FPDF();

	// 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','',9);

	// 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 File...", 0, 0, 'L', 0); // left-align, width: 170
	$pdf->Output("CustomFile2.pdf", "D");
?>

Keempat, simpan project PHPMaker Anda, lalu generate ulang semua file script seperti biasa menggunakan PHPMaker.

Setelah itu, jalankan Aplikasi Web dari browser, lalu klik menu Custom One, maka seharusnya sekarang sistem akan mengekspor tulisan Halo, ini untuk mencoba FPDF di Custom File… ke dalam file PDF.

Itu adalah contoh yang paling sederhana. Tentu saja Anda dapat mengembangkannya sesuai kebutuhan. Misalkan, Anda dapat mengambil datanya terlebih dulu dari Database sebelum diekspor ke file PDF, atau melempar variabel POST atau GET dari halaman yang dihasilkan oleh PHPMaker ke Custom File tadi, lalu tangkap nilainya di dalam Custom File.

Anda juga dapat menambahkan table dan border supaya lebih rapi, memformat teks menjadi tebal, mengubah jenis dan ukuran huruf tertentu, membagi ke dalam beberapa halaman di file PDF, dan seterusnya.

Pastikan juga Anda sudah membaca dan mempelajari Manual dan Tutorials dari situs fpdf.org di atas tadi. Saya yakin Anda dapat menghasilkan layout serumit apapun berdasarkan contoh-contoh pada Tutorials dan Manual di situs fpdf.org.

Betapa mudah, cepat, dan menyenangkan sekali, bukan? 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, Custom Files, Export to PDF, FPDF, PDF, 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 dan ilovephpmaker.com.

Wow! Aplikasi Web dengan Database SQL Server Sekarang Bisa Hosting di Linux!
Menghitung Selisih Hari dari Dua Buah Tanggal dengan Javascript dari PHPMaker

Comments

  1. Ichanz mengatakan

    Mei 9, 2016 pada 1:25 pm

    Terima kasih banyak pak, sangat membantu utk ‘kick start’ menggunakan fpdf

    Balas
    • Masino Sinaga mengatakan

      Mei 9, 2016 pada 1:26 pm

      Sama-sama pak.

      Balas
  2. Rycko mengatakan

    Mei 10, 2016 pada 12:04 am

    Terima Kasih tutorial nya.
    Apakah PHPMaker dapat memanfaatkan file Word buatan sendiri sebagai template output pdf?

    Balas
    • Masino Sinaga mengatakan

      Mei 10, 2016 pada 11:44 am

      Sama-sama.

      PHPMaker belum bisa menggunakan file Word buatan sebagai template output pdf.

      Balas
  3. Cak Sobri mengatakan

    Mei 11, 2016 pada 1:20 pm

    Keren-keren, thanks om 🙂

    Balas
    • Masino Sinaga mengatakan

      Mei 11, 2016 pada 1:26 pm

      Sama-sama. 🙂

      Balas
  4. lman mengatakan

    Mei 18, 2016 pada 11:26 am

    Siang pak
    Bila di halaman list di buat tombol sendiri bisa tidak pak….contohnya ingin membuat tombol print yang terkoneksi dengan printer dengan klik enter…terima kasih

    Balas
    • Masino Sinaga mengatakan

      Mei 18, 2016 pada 12:43 pm

      Bisa. Gunakan server event Page_DataRendering. Jangan tanya saya bagaimana kode-nya. Berusahalah sendiri!

      Balas
  5. lman mengatakan

    Mei 20, 2016 pada 11:24 am

    Sy udah ikuti semua intruksi di atas kok error ya pak….error kolom 4 menunjukan $pdf = new FPDF ();

    Balas
    • Masino Sinaga mengatakan

      Mei 20, 2016 pada 12:30 pm

      Isi pesan error-nya apa?

      Balas
      • alex mengatakan

        Mei 20, 2016 pada 2:18 pm

        parse error: syntax error, unexpected ‘$pdf’ (T_variable) in C:\xampp…..
        \custome1.php on line 4

        on line 4 menunjuk code yg sy kirim pertama

        Balas
        • Masino Sinaga mengatakan

          Mei 20, 2016 pada 3:21 pm

          Coba hilangkan karakter spasi sebelum karakter kurung buka.

          Balas
  6. alex mengatakan

    Mei 20, 2016 pada 4:21 pm

    trima kasih pak masino

    Balas
    • Masino Sinaga mengatakan

      Mei 21, 2016 pada 10:23 am

      Sama-sama.

      Balas
  7. Chandra Wijaya mengatakan

    Juli 12, 2016 pada 9:32 am

    Salam kenal master Masino. Saya boleh tanya, bagaimana caranya agar pada saat kita mengklik tombol view (tampilkan) pada list tabel, maka halaman View akan terbuka pada tab baru di browser? Terima kasih

    Balas
    • Masino Sinaga mengatakan

      Juli 14, 2016 pada 2:54 pm

      Salam kenal kembali. Anda bisa menggunakan jQuery di bagian Client Scripts -> Startup Script untuk menambahkan property target=”_blank” ke dalam link a href yang bertalian. Silahkan Google contoh-contoh kode-nya.

      Balas
  8. riefeen mengatakan

    Desember 24, 2016 pada 7:24 am

    Pak Masino.. saya menggunakan PHPMAKER 2017, barcode bisa tampil tetapi ketika di-export ke PDF tidak tampil, sedangkan ketika saya coba pakai PHPMAKER 11 bisa tampil. Apakah Bapak sudah pernah export barcode ke PDF dengan PHPMAKER 2017. Saya sudah tanya di forum phpmaker tapi belum ada jawaban. Mohon bantuannya . Terima kasih

    Balas
    • Masino Sinaga mengatakan

      Desember 26, 2016 pada 10:55 am

      Saya belum pernah export barcode ke PDF dengan PHPMaker.

      Balas
      • riefeen mengatakan

        Desember 26, 2016 pada 1:08 pm

        Saya sudah coba lewat demo situsnya phpmaker ternyata barcode (qr code) juga tidak tampil pada file hasil export pdf

        Balas
        • Masino Sinaga mengatakan

          Desember 26, 2016 pada 6:51 pm

          Coba pakai library FPDF.

          Balas
  9. Nanda mengatakan

    November 14, 2017 pada 11:12 am

    Pak Masino, bagaimana ya cara mengambil nilai Paramater dari Advance Search Value di halaman Custom File ?

    jadi saya akan buat Halaman Custom File , cuma untuk halaman ini saya akan menampilkan Filter Field Nomor dengan kriteria Pecarian Between.
    langkah yang sudah lakukan, yaitu menampilkan Tombol Baru di halaman List => Page Render

     $this->OtherOptions["addedit"]->UseDropDownButton = FALSE;  
    	$my_options = &$this->OtherOptions;  
    	$my_option = $my_options["addedit"];  
    	$my_item = &$my_option->Add("mynewbutton");  
    	$my_item->Body = " <a class=\"btn btn-default ewAddEdit ewAdd btn-sm\"     title=\"Cetak\" data-caption=\"Cetak \" href=\"cetak_pdf.php?nomor='".$this->nomor->AdvancedSearch->SearchValue."'  \">Cetak </a>  
    

    kode yang sudah saya buat pada List =>Page Render adalah seperti diatas, namun pada Link Target belum bisa menampilkan Value dari hasil Pencarian Advance Search Value ?

    utk halaman asli yg muncul dari hasil pencarian , pada browser adalah seperti ini ;

    tabellist.php?x_nomor=57&y_nomor=60&z_nomor=BETWEEN&cmd=search
    

    pada Tombol baru tersebut saya akan mengambil nilai BETWEEN : 57 & 60, namun masih belum muncul Nilai Parameter nya ?

    Balas
    • Masino Sinaga mengatakan

      November 14, 2017 pada 11:49 am

      Kenapa harus di Page_Render? Kenapa tidak di setiap record saja dibuat link untuk mencetak ke PDF menggunakan server event ListOptions_Rendered?

      Balas
  10. Nanda mengatakan

    November 14, 2017 pada 1:59 pm

    maaf Pak, karena kebutuhan nya adalah utk mencetak Laporan/ semacam Laporan Periode (Per tanggal – Between / Per Nomor Transaksi sekian s.d. sekian)
    dalam contoh diatas saya coba buat per Nomor dulu.

    kalau ga salah jika di setiap Record – ListOptions_Rendered / dia membaca CurrentValue (tiap ID/ Kunci) sementara yang di harapkan membaca dari beberapa Kunci/ ID sesuai dengan kriteria pencarian.

    Jadi Alurnya :
    1. User buka Halaman List
    2. User melakukan Pencarian => Advance Search , Periode / Between :
    Nomor sekian s.d. Nomor sekian / Tanggal sekian s.d. Tanggal sekian (dalam contoh diatas saya baru pake yang nomor)
    3. Jika Sudah melakukan Pencarian , di halaman List tersebut ada Tombol ‘Cetak Laporan’ dimana akan di arahkan ke Custom_File.php dan di Filter sesuai kriteria pencarian di atas.
    (hasil pada Custom File semacam Daftar Tabel yang telah diseleksi)

    namun Paramater dari Tombol ‘Cetak Lapran’ tersebut yg masih belum bisa, ini sudah sy coba ganti ganti kode yg lain juga masih belum bisa.

    Balas
    • Masino Sinaga mengatakan

      November 17, 2017 pada 3:16 pm

      Berarti tinggal di-parsing saja variable GET dari URL-nya, lalu tampung ke dalam Custom File tersebut.

      Balas
  11. Andrea mengatakan

    Februari 21, 2018 pada 10:55 pm

    Hi,
    How can I do to generate table with DetailOrder with fpdf in dynamic way from query:
    Example:
    I print a pdf with fpdf. But I have the table with field like Product ,Price, Quantity, Vat, Total. This header table column are already defined. I want print this field directly from query. So, I set query and fpdf create table from here ( so I have only field in pdf table from query).

    Thank you,
    Andre

    Balas
    • Masino Sinaga mengatakan

      Februari 22, 2018 pada 12:19 am

      Please read the manual and some tutorials from fpdf site. Afterwards, implement it via your own Custom Files in your PHPMaker project.

      Hope that helps.

      Balas
      • Andrea mengatakan

        Februari 22, 2018 pada 3:43 pm

        Hi Masino,
        Ok. I read Custom File. Now I know how to generate pdf with data from query.
        But I set static column table, I would to know if exist a way to build table in fpdf from query (example: the header table and column generate directly from query and not set in static way).

        Thank you,
        Andrea.

        Balas
        • Masino Sinaga mengatakan

          Februari 22, 2018 pada 4:50 pm

          Basically, the logic is same with how you get the recordset through a loop. The only different thing is you need to know the SQL how to get the field/column name, since each database usually uses the different syntax. Just Google for it.

          Balas
  12. Andrea mengatakan

    Februari 22, 2018 pada 6:10 pm

    Thanks Masino.
    How can I do to hide add button in Master/detail (I want hide add button in OrdersMaster).
    Thanks,
    Andrea.

    Balas

Tinggalkan Balasan Batalkan balasan

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pos-pos Terbaru

  • Server Event Page_Render dan Page_Rendering di PHPMaker, Apa Sih Bedanya?
  • Begini Mudahnya Mengubah Judul Browser Secara Dinamis di PHPMaker 2021
  • Solusi Supaya PreviewRow dan PreviewOverlay Bisa Sama-Sama Berfungsi di PHPMaker 2021
  • Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Seperti Ini Mudahnya Menyembunyikan Data Label di Chart dari PHPMaker 2021

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Masino Sinaga pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Masino Sinaga pada Mudahnya Menambahkan Global Function untuk Auto-Update Field di PHPMaker
  • Abu Syifa pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Abu Syifa pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. 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 - 2019 | WordPress | Catat masuk | Kembali ke atas