= RFPDF Template Plugin A template plugin allowing the inclusion of ERB-enabled RFPDF template files. == Example .rb method Usage In the controller, something like: def mypdf pdf = FPDF.new() # # Chinese # pdf.extend(PDF_Chinese) pdf.AddPage pdf.AddBig5Font pdf.SetFont('Big5','',18) pdf.Write(5, '²{®É®ð·Å 18 C Àã«× 83 %') icBig5 = Iconv.new('Big5', 'UTF-8') pdf.Write(15, icBig5.iconv("宋体 should be working")) send_data pdf.Output, :filename => "something.pdf", :type => "application/pdf" end == Example .rfdf Usage In the controller, something like: def mypdf @options_for_rfpdf ||= {} @options_for_rfpdf[:file_name] = "nice_looking.pdf" end In the layout (make sure this is the only item in the layout): <%= @content_for_layout %> In the view (mypdf.rfpdf): <% pdf = FPDF.new() # # Chinese # pdf.extend(PDF_Chinese) pdf.AddPage pdf.AddBig5Font pdf.SetFont('Big5','',18) pdf.Write(5, '²{®É®ð·Å 18 C Àã«× 83 %') icBig5 = Iconv.new('Big5', 'UTF-8') pdf.Write(15, icBig5.iconv("宋体 should be working")) # # Japanese # pdf.extend(PDF_Japanese) pdf.AddSJISFont(); pdf.AddPage(); pdf.SetFont('SJIS','',18); pdf.Write(5,'9ÉñåéÇÃåˆäJÉeÉXÉgÇåoǃPHP 3.0ÇÕ1998îN6åéÇ…åˆéÆÇ…ÉäÉäÅ[ÉXÇ≥ÇÍNjǵÇΩÅB'); icSJIS = Iconv.new('SJIS', 'UTF-8') pdf.Write(15, icSJIS.iconv("これはテキストである should be working")) # # Korean # pdf.extend(PDF_Korean) pdf.AddUHCFont(); pdf.AddPage(); pdf.SetFont('UHC','',18); pdf.Write(5,'PHP 3.0Àº 1998³â 6¿ù¿¡ °ø½ÄÀûÀ¸·Î ¸±¸®ÁîµÇ¾ú´Ù. °ø°³ÀûÀÎ Å×½ºÆ® ÀÌÈľà 9°³¿ù¸¸À̾ú´Ù.'); icUHC = Iconv.new('UHC', 'UTF-8') pdf.Write(15, icUHC.iconv("이것은 원본 이다")) # # English # pdf.AddPage(); pdf.SetFont('Arial', '', 10) pdf.Write(5, "should be working") %> <%= pdf.Output() %> == Configuring You can configure Rfpdf by using an @options_for_rfpdf hash in your controllers. Here are a few options: :filename (default: action_name.pdf) Filename of PDF to generate Note: If you're using the same settings for @options_for_rfpdf often, you might want to put your assignment in a before_filter (perhaps overriding :filename, etc in your actions). == Problems Layouts and partials are currently not supported; just need to wrap the PDF generation differently.