แนะนำตัวสร้าง PDF ภาษาไทยบน rails

  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.
  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.

ตอนนี้กำลังหาอยู่

มีใครพอแนะนำบ้างได้ไหมครับ

เร่่งด่วนมากๆๆ

ลองดูตาม http://wiki.rubyonrails.org/rails/pages/HowtoGeneratePDFs
ถ้าไม่ได้อาจจะต้องใช้ rcairo

เพิ่มเติม
ถ้าจะสร้าง PDF ไฟล์ด้วย cairo.
ให้ใช้ pdf-wrapper จะง่ายกว่า

$sudo aptitude install libcairo-ruby libpango1-ruby librsvg2-ruby libpoppler-glib-ruby
$sudo gem install pdf-wrapper
#require 'rubygems'
require 'pdf/wrapper'
 
  def generate_pdf(options={})
    pdf = PDF::Wrapper.new(options)
    pdf.text "สวัสดี ภาษาไทย"
    pdf.render_to_file("test.pdf")
  end
 
 paper = {:paper => :A4}
 generate_pdf(paper)

โอ้วดีครับ เดี๋ยวจะได้ลองด้วยเลย ขอบคุณครับ

ยังทำไม่ได้ครับ
ผมพัฒนาเวปบน

  • ENV ที่ผมใช้เป็น Windows XP Pro Pack 2
  • Instant Rails 1.7
  • Rails 1.2.3
  • Ruby 1.8.6
  • Gem 1.0.1

ผม install เฉพาะ PDF wrapper ครับ ตัว cairo ไม่ได้ลง ต้องลงด้วยไหมครับ

พอลองทำแล้ว error ฟ้องว่า

uninitialized constant Cairo::Color

นี่เป็นตัวอย่าง code ที่ผมใช้ครับ

>
class PdfsController < ApplicationController
 
  require 'pdf/wrapper'
 
  def index
    paper = {:paper => :A4}
    generate_pdf(paper)
  end
 
  def generate_pdf(options={})
    pdf = PDF::Wrapper.new(options)
    pdf.set_color(:black)
    pdf.text "สวัสดี ภาษาไทย"
    pdf.render_to_file("test.pdf")
  end
 
end
</blockcode>

ถ้าบน Windows คงต้องติดตั้งเพิ่มแหละ
ลองลง http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-1.4.14.zip

ถ้าไม่ได้อีก ลองดาวน์โหลด run-time packages ตัวอื่นดู http://www.gtk.org/download-windows.html
พอดีไม่ได้ลองบน Windows แต่คิดว่าน่าจะได้นะ

โอเชครับ เดี๋ยวจะลองดู

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น