Cara Export PDF di Aplikasi Rails

Pada post kali ini saya akan membahas dasar-dasar penggunaan gem prawn untuk Ruby on Rails.

Prawn adalah sebuah gem untuk Ruby on Rails yang digunakan untuk memudahkan kita membuat / generate file PDF.

  1. Pertama-tama buat project baru menggunakan PostgreSQL
    $ rails new namaproject -d postgresql
    $ cd namaproject
  2. Buka project menggunakan text editor dan tambahkan gem pada Gemfile nya

     gem 'prawn', :git => 'git://github.com/prawnpdf/prawn.git'
    gem 'prawn_rails'
    gem 'prawn-table'


  3.  Lalu ketik kode di bawah ini pada terminal
    $ bundle install
  4. Setelah itu kita buat CRUD sebagai contoh table yang akan di export menjadi file PDF
    $ rails generate model Product name:string category:string quantity:integer
    $ rake db:create 
    $ rake db:migrate 
  5. Buat root untuk show-nya, buka routes.rb (config/routes.rb)
  6. Rails.application.routes.draw do
    resources :products do
    member do
    get 'print'
    get 'print_all'
    end
    end
    root :to => "products#index"
    end
  7. Lanjut buka controller products (app/controllers/products_controller.rb) tambahkan:

     class ProductsController < ApplicationController
    def print_all
    @products = Product.all
    render 'print'
    end
    end

  8. Pada text editor anda cari file (app/views/products) dan tambahkan file print_all.pdf.prawn 

  9. Cari file (app/views/products/print_all.pdf.prawn) dan tambahkan:

    prawn_document(:margin => 15, :page_size => [612, 936]) do |pdf|
    pdf.move_down (20)
    pdf.text "LIST PRODUK", :size => 15, :style => :bold, align: :center
    pdf.move_down(10)
    pdf.stroke_horizontal_line(2, pdf.bounds.width)
    pdf.move_down(20)
    products = [ ]
    products << [
    {:content => "Nama Barang" , :align => :center, :background_color => "000000", :text_color => "ffffff" },
    {:content => "Kategori", :align => :center, :background_color => "000000", :text_color => "ffffff" },
    {:content => "Stock Barang", :align => :center, :background_color => "000000", :text_color => "ffffff" },
    ]
    @products.each do |product|
    products << [
    {:content => "#{product.name}", :align => :center},
    {:content => "#{product.category}", :align => :center },
    {:content => "#{product.quantity}", :align => :center },
    ]
    end
    pdf.table products, :cell_style => { :border_style => :grid}, :position => :left
    end
  10. Buka project menggunakan text editor dan tambahkan gem pada Gemfile nya
     <%= link_to 'New Product', new_product_path %>
    <%= link_to "Print", print_all_product_path(@products, format: "pdf") %>


  11. Jalankan server
    $ rails s


kurang lebih seperti ini:


klik tombol print:




Untuk lebih jelasnya silahkan baca dokumentasi di:


Sekian post kali ini tentang tutorial print pdf menggunakan gem prawn pada Ruby on Rails, nantikan postingan lain yang lebih menarik lagi, stay on belajarrubyonrails.com

Bye

Comments

Popular posts from this blog

Seri Belajar Ruby on Rails Bagian 9 - Membuat Autentikasi dengan Devise

Seri Belajar Ruby on Rails Bagian 6 - Membuat Table & Dummy Data

Seri Belajar Ruby on Rails Bagian 7 - Memahami ActiveRecord