Sử dụng wicked_pdf nâng cao cho dự án Rails
Trong qúa trình làm việc với wicked_pdf, mình cũng gặp phải một số vấn đề và cũng đã tìm ra cách giải quyết nên trong bài viết này mình muốn chia sẻ, hi vọng nó sẽ có ích với các bạn. Bạn có thể tham khảo bài viết Export file pdf trong Rails trước đây của mình. Bài viết đó đã trình bày khá ...
Trong qúa trình làm việc với wicked_pdf, mình cũng gặp phải một số vấn đề và cũng đã tìm ra cách giải quyết nên trong bài viết này mình muốn chia sẻ, hi vọng nó sẽ có ích với các bạn.
Bạn có thể tham khảo bài viết Export file pdf trong Rails trước đây của mình. Bài viết đó đã trình bày khá chi tiết về cách cài đặt cũng như sử dụng gem wicked_pdf xuất ra một file pdf đơn giản trong một dự án Rails.
Debuging.
Trước tiên mình tạo một file controller test_files_controller.rb đơn giản như sau:
class TestFilesController < ApplicationController def export_file format.html { render :index } format.pdf do render pdf: 'tribeo', # type: 'application/pdf', # disposition: 'attachment', encoding: 'UTF-8', layout: 'pdf.html.erb', template: 'test_files/tribeo_template.html.erb', page_size: 'A4' end end end
Như code bên trên thì bạn phải có thêm layout, template để xuất file pdf (bạn có thể xem bài biết mình có dẫn link bên trên để xem chi tiết hơn nhé).
Trong ví dụ này chỉ xuất ra một file pdf có chứa một bảng ngắn, và mình cũng comment 2 key type và disposition lại để render kết quả ra html show lên trình duyệt như sau (url http://localhost:3000/test_files/export_file/tribeo.pdf):
Làm thế này, chúng ta sẽ không thể nào inspect chi tiết phần nội dung bên trong cho file pdf, do đó khi bạn phải chỉnh sửa hiển thị cho file thì rất khó khăn (mình đã từng gặp rất nhiều khó khăn cho vấn đề này