アトム-サイト
[ アトム-サイト ] - 管理人さんのページです。
feed-icon RSS2.0   feed-icon Atom
[ Ruby ] 一覧へ
Ruby on Rails インストール
管理人さんのブログ 2007-11-07 13:13:18

まずはRubyを入れる
# yum install ruby
# ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]
バージョンは1.8.4以上でないと、Railsは動かないとの事。

gems(Rails系パッケージの管理ツール)を入れる
yumで用意されていないので、tarを落としてきます。
# wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
解凍
# tar zxvf rubygems-0.9.4.tgz
# cd rubygems-0.9.4
設定
# ruby setup.rb config
# ruby setup.rb setup
# ruby setup.rb install
gemが入ったかどうか確認
# gem environment

railsをインストール
# gem install rails --include-dependencies
railsが入ったのを確認
# rails -v
最新のRailsにアップデート
# gem update --include-dependencies

Postgresを使うので、橋渡しをインストール
# gem install postgres-pr

これで、環境は整った。



◆PDF出力させる為に◆

pdf-writer 日本語だと文字が重なる不具合有り
# gem install pdf-writer

http://www2s.biglobe.ne.jp/~Nori/ruby/ja/index.html
から日本語パッチを落として解凍。パッチを当てます。
# cd pdf-writer-1.1.3
# patch -p0 < pdf-writer-1.1.3-ja_font_patch-20060516/pdf-writer-1.1.3-ja_font_patch-20060516.diff

コントローラに
def listpdf
gen_pdf
redirect_to("#{@request.relative_url_root}/pdf/hello.pdf")
end

private
def gen_pdf
_p = PDF::Writer.new
# _p.select_font 'Ryumin-Light', 'EUC-H'
_p.select_font 'GothicBBB-Medium', 'EUC-H'
_p.text NKF.nkf('-e -m0', "テストです"), :font_size => 72, :justification => :center
_p.save_as("public/pdf/hello.pdf")
end
こんな感じでPDF出力OK。

使ってみて…。
日本語だと、文字が重なってしまう不具合があった。コードの関係で、前の文字と同じ位置に表示してしまうようである。
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/43480?43430-43644
で、$KCODE指定で直るとあったが、ダメでした。
…なので、却下。

Rfpdf
Rfpdfを入れてみた。
ruby script/plugin install http://rfpdf.googlecode.com/svn/rfpdf

プログラムはこんな感じ
pdf = FPDF.new
pdf.extend(PDF_Japanese)
pdf.AddSJISFont();
pdf.AddPage();
pdf.SetFont('SJIS',’’,18);
icSJIS = Iconv.new('SJIS', 'UTF-8')
pdf.Write(15, icSJIS.iconv("発表します表"))
send_data pdf.Output, :filename => "public/pdf/test.pdf", :type => "application/pdf"

「表」という文字のSJISコードで不具合出るので、
lib/rfpdf/fpdf.rb内の
- txt.gsub!('¥¥', '¥¥¥¥')

+ txt.gsub!('¥¥', '¥¥¥¥¥¥')
(¥は半角です)
こうすると直る。

使ってみたが…。
Cellメソッドはあるが、これで表とかは難しいかな。
無料で簡単な日本語PDF出力させるならこれでOK。

PDFlib
PDFlibのHPから落としてきたRuby用のtarを解凍。
# ruby -e "puts $:"
で、他のライブラリが入ってる所と同じ場所にPDFlib.soをコピー。
# cp PDFlib.so /usr/lib/ruby/1.8/i386-linux/

日本語対応はcmapというフォントを入れます(PDFlibのHPにあります)。
これも解凍してディレクトリごとコピー。
# cp -R /home/atsumi/PDFlib-CMap-1.0/resource/cmap/ .
パスとフォントとコードを指定すれば
require 'PDFlib'
p.set_parameter("SearchPath", "/usr/lib/ruby/1.8/i386-linux/cmap")
p.set_parameter("textformat", "utf8")
font = p.load_font("HeiseiMin-W3", "UniJIS-UCS2-H", "")
で、日本語を使える様になります。


◆携帯対応◆

Mobile on Rails
ruby script/plugin install mobile_on_rails
で、インストール。

cp -R app/views app/views_mobile
で携帯用表示ディレクトリを作成し、携帯からアクセス(ユーザーエージェントで判別してます)すれば、views_mobile側の表示をします。
後はviews_mobile内をShift_JISにしたりと、携帯用ページを作っていく。

QRコード
# yum install freetype
# yum install libpng
# yum install gd-devel
# gem install ruby-gd -- --build-flag --with-freetype

下準備が整った所で、
QRコードクラスライブラリ for Rubyからソースをいただきます。
# wget http://www.venus.dti.ne.jp/~swe/program/qrcode_rb0.50beta8.tar.gz
tarで展開した物を/libに入れ、qrcode.rbの10行目。パスを合わせる。
@path="#{RAILS_ROOT}/lib/qrcode_data"
qrcode.rbの600行目付近の4箇所。
Regexpメソッドの第2・3引数に、「, false, 'n'」追加。
文字コードの問題らしいです(これをやらないとqrcode_image_outメソッドで、premature end of regular expressionというエラーが出ます)。

後は、コントローラに
class QrcodeController < ApplicationController
def index
require 'qrcode_img'
@headers['Content-Type'] = 'image/png'
x = Qrcode_image.new
x.set_module_size(3)
img = x.qrcode_image_out('http://atom.blogdns.com', 'png')
render :text => img.pngStr, :layout => false
img.destroy
end
end
↑こんな感じで表示可能

 月間ページ閲覧者数:8人

[ Ruby ] 一覧へ


<< 2021年4月
2021年4月18日(日)
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

 最近の書き込み

Linuxコマンド
  <2020-05-20 09:24:05>
logrotate
  <2020-05-20 09:23:48>
WebサーバのSSL化
  <2020-03-15 15:29:47>
SMTP
  <2016-04-06 12:03:21>
S.M.A.R.T.
  <2015-05-07 08:03:36>
POP
  <2015-04-21 11:33:37>
アルバートオデッセイ
  <2014-08-04 23:12:12>
トイレ
  <2014-01-31 08:58:16>
(*)調光スイッチ
  <2013-09-30 10:46:11>
(*)調光スイッチ
  <2013-09-20 01:26:34>


 カテゴリー

おでかけ(83)
サッカー(45)
旅(45)
DIY(43)
食べ物(39)
映画(36)
家(35)
季節(34)
健康(32)
地元(29)
本(29)
家族(29)
モバイル(23)
生物(23)
学校(22)
家電(21)
ドラマ(21)
風景(18)
Web(18)
PCハード(17)
通勤(16)
ゲーム(16)
Winアプリ(15)
ブログ(14)
Linux(13)
飲み物(13)
自転車(13)
ゴルフ(11)
ブラウザ(11)
ネットワーク(10)
javascript(10)
足技(9)
php(9)
会社(8)
感銘映像(8)
税金(6)
空想(5)
VMware(5)
Ruby(4)
 ・ Ruby on Rails インストール
 ・ Ruby on Rails 最初の一歩
 ・ 本5冊
 ・ Ruby on Rails 本
データベース(3)
perl(1)