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.
- Pertama-tama buat project baru menggunakan PostgreSQL
$ rails new namaproject -d postgresql$ cd namaproject - 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' -
Lalu ketik kode di bawah ini pada terminal$ bundle install - 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 - Buat root untuk show-nya, buka routes.rb (config/routes.rb)
Rails.application.routes.draw do
resources :products do
member do
get 'print'
get 'print_all'
end
end
root :to => "products#index"
end- Lanjut buka controller products (app/controllers/products_controller.rb) tambahkan:
class ProductsController < ApplicationController
def print_all
@products = Product.all
render 'print'
end
end - Pada text editor anda cari file (app/views/products) dan tambahkan file print_all.pdf.prawn
- 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 - 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") %> - 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
ersad@doterb.com | Developer at doterb solution


Comments
Post a Comment