« 2009年10月 | トップページ | 2010年7月 »

2010年1月

2010年1月1日 Google Apps で グループにメールが届かない

Google Apps で グループにメールが届かない障害が2010年1月1日から発生しているようです。

弊社が運営している携帯家計簿サイト「たまる家計簿」は ruby on rails で構築されているのですが、日時の稼動情報(ユーザの増加数や明細入力するの統計)や、rails でエラーが起こったときの通知メール(ExceptionNotifier を使用)の宛先に Google Apps のグループアドレスを使用しています。

それが、1月1日からいきなりこなくなりました。稼動情報は少なくとも来るはず。。

1月2日になってもこないので、調べてみると Google Apps の障害の模様。

Google Apps ってあまり信頼できないみたいですね。

ruby on rails で Haru Free PDF Library を使う

まだあまり使っていないのですが、サンプルを見る限りはかなり自由にPDFを出力できるHaru Free PDF Library。

・グラフや線なども自由に出力

・日本語出力も問題なさそう

ということで早速使ってみることに。

1. gem でインストール

web 上では gem でのインストールは出来ない、という情報が多いのですが実はできます。

gem install hpdf

そして、Haru Free PDF Library には、直接 iostream へ出力するメソッドが用意されていませんので、一度サーバ上に出力(save_to_file)してから、send_file でブラウザへ返します。

application.rb

  PDF_PATH = "#{RAILS_ROOT}/pdf" # サーバ上の一時保存パス

  def stream_pdf
    require 'hpdf'
    filename_for_save = "#{action_name}_#{params[:id]}.pdf"
    logger.info "Starting PDF download #{filename_for_save}"
    pdf = HPDFDoc.new
    pdf.use_jp_fonts
    pdf.use_jp_encodings
    encoder = pdf.get_encoder("90ms-RKSJ-H")
    yield pdf
    file = "#{PDF_PATH}/#{filename_for_save}"
    pdf.save_to_file(file)
    send_file file, :filename=>filename_for_save, :type=>'application/pdf',
            :disposition => "attachment"
  end

export_controller.rb

  def export_memo_pdf
    stream_pdf do |pdf|
      font = pdf.get_font("MS-Gothic", "90ms-RKSJ-H")
      page = pdf.add_page
      page.begin_text
      page.move_text_pos(10.0, 300.0)
      page.set_font_and_size(font, 10.0);
      str = "PDFテストですよ".kconv(Kconv::SJIS, Kconv::UTF8)
      page.show_text(str)
      page.end_text
    end
  end

※ 出力はsjis で行っています。utf 8 のまま出力する方法はないのかなぁ。。

RailsによるアジャイルWebアプリケーション開発 Book RailsによるアジャイルWebアプリケーション開発

著者:Sam Ruby,David Heinemeier Hansson,Dave Thomas
販売元:オーム社
Amazon.co.jpで詳細を確認する

※以下のMLを参考にしました。MLは情報の宝庫ですね。

http://www.fdiary.net/ml/rails/msg/2786

« 2009年10月 | トップページ | 2010年7月 »