Masino Sinaga

Web Development and PHPMaker

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

Sen, 9 Mei 2016 oleh Masino Sinaga 32 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

Komentar

  1. Ichanz mengatakan

    Sen, 9 Mei 2016 pada 1:25 pm

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

    Balas
    • Masino Sinaga mengatakan

      Sen, 9 Mei 2016 pada 1:26 pm

      Sama-sama pak.

      Balas
  2. Rycko mengatakan

    Sel, 10 Mei 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

      Sel, 10 Mei 2016 pada 11:44 am

      Sama-sama.

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

      Balas
  3. Cak Sobri mengatakan

    Rab, 11 Mei 2016 pada 1:20 pm

    Keren-keren, thanks om 🙂

    Balas
    • Masino Sinaga mengatakan

      Rab, 11 Mei 2016 pada 1:26 pm

      Sama-sama. 🙂

      Balas
  4. lman mengatakan

    Rab, 18 Mei 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

      Rab, 18 Mei 2016 pada 12:43 pm

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

      Balas
  5. lman mengatakan

    Jum, 20 Mei 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

      Jum, 20 Mei 2016 pada 12:30 pm

      Isi pesan error-nya apa?

      Balas
      • alex mengatakan

        Jum, 20 Mei 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

          Jum, 20 Mei 2016 pada 3:21 pm

          Coba hilangkan karakter spasi sebelum karakter kurung buka.

          Balas
  6. alex mengatakan

    Jum, 20 Mei 2016 pada 4:21 pm

    trima kasih pak masino

    Balas
    • Masino Sinaga mengatakan

      Sab, 21 Mei 2016 pada 10:23 am

      Sama-sama.

      Balas
  7. Chandra Wijaya mengatakan

    Sel, 12 Juli 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

      Kam, 14 Juli 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

    Sab, 24 Desember 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

      Sen, 26 Desember 2016 pada 10:55 am

      Saya belum pernah export barcode ke PDF dengan PHPMaker.

      Balas
      • riefeen mengatakan

        Sen, 26 Desember 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

          Sen, 26 Desember 2016 pada 6:51 pm

          Coba pakai library FPDF.

          Balas
  9. Nanda mengatakan

    Sel, 14 November 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

      Sel, 14 November 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

    Sel, 14 November 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

      Jum, 17 November 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

    Rab, 21 Februari 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

      Kam, 22 Februari 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

        Kam, 22 Februari 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

          Kam, 22 Februari 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

    Kam, 22 Februari 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
  13. Eka Dalas Pangestu mengatakan

    Sen, 8 November 2021 pada 1:58 pm

    Pak bagaimana ya cara eksport pdf padahal exstension dompdf sudah saya aktifkan, tapi tidak bisa eksport dengan pdf

    Terima Kasih

    Balas
    • Masino Sinaga mengatakan

      Sen, 8 November 2021 pada 4:10 pm

      Klik tab Advanced dari setting Extension yang bertalian, lalu klik Tables, dan pastikan pilihan ExportList sudah diaktifkan juga. Setelah itu generate ulang semua file script lagi seperti biasa.

      Balas

Trackbacks

  1. Begini Cara Menampilkan Konten Custom Files ke File PDF dari PHPMaker 2021 dan FPDF – Masino Sinaga berkata:
    Sen, 19 April 2021 pukul 7:40 pm

    […] 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. […]

    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

  • Begini Mudahnya Mengubah Lebar Modal Dialog di PHPMaker 2022
  • Item Menu Tetap Aktif Meskipun Sedang Menampilkan Halaman Tambah, Ubah, Tampilkan, Cari di PHPMaker 2022
  • Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Alasan AlwaysUseEnglishUSLocale Sebaiknya Aktif di Masino Extensions untuk PHPMaker 2022
  • MasinoInputMask18 Extension, Autoformat Angka dengan Fitur Lebih Kaya di PHPMaker 2022

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Stanislaus Ariyanto pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Masino Sinaga pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • irwan pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Ini Dia Fitur-Fitur yang Terdapat di Masino Extensions untuk PHPMaker 2022

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 - 2021 | WordPress | Catat masuk | Kembali ke atas