mieki256's diary



2014/09/18(木) [n年前の日記]

#1 [ruby] RubyでPDF作成

prawn というライブラリを使うと、Ruby で PDF作成ができると知ったので試していたり。

以下、参考ページ。

_prawn | RubyGems.org | your community gem host
_prawnpdf/prawn - GitHub
_猫ぐらし: Ruby de Pdf
_* Ruby - PrawnでPDF作成! - mk-mode BLOG
_RubyのPDFライブラリ "Prawn" のご紹介 : Raccoon Tech Blog - 株式会社ラクーン 技術戦略部ブログ
_PDF生成ライブラリ「Prawn」 - 名もないテクノ手
_prawn:measurement_extensions.rb - noritsuguの日記

WIndows7x64 + Ruby 1.9.3 上で、
gem install prawn
でインストールできた。

位置の指定をする際の単位はポイントだけど、mm(ミリメートル)等を使いたいなら、
require 'prawn'
require 'prawn/measurement_extensions'
と書いて、
Prawn::Document.generate( PDF_FILE,
                         :page_size     => "A4",      # 用紙サイズ
                         :page_layout   => :portrait, # 用紙向き ( 縦:portrait、横:landscape )
                         :left_margin   => 10.mm,        # 余白(左)
                         :right_margin  => 10.mm,        # 余白(右)
                         :top_margin    => 10.mm,        # 余白(上)
                         :bottom_margin => 10.mm         # 余白(下)
                         ) do
といった感じで「10.mm」等の指定をすればいいらしい。

ThinReportsなるものがあるらしい。 :

_帳票ソリューション for Ruby and Rails | ThinReports

GUIで帳票のレイアウトが出来て、Rubyで帳票のPDF作成ができるらしい。素晴らしい。

ThinReportsEditor-0.7.7.2-mswin.exe をDLしてインストールしてみた。このエディタで、帳票のデザインをする。

Rubyのライブラリをインストール。
gem install thinreports

_Getting Started - ThinReports - Matsukei Open Source Center を眺めながら試してみたけど、かなりイイ感じ。簡易仕様書までhtml出力できてしまうあたりも感心。印刷については、コレを使えばバッチリ、のような気がしてきた。

ちなみに、ドキュメント内では、
report.generate_file('hello_world.pdf')
と記述されてるけど、現在のバージョンでは、
report.generate(:filename => 'hello_world.pdf')
と記述するようになった模様。

PythonでもPDF作成。 :

RubyでPDF作成ができるなら Pythonでもできるのではないか、と思ってググってみたら、ReportLab というモジュールがあるそうで。

_PDF生成(ReportLab) - Python入門から応用までの学習サイト

Windows上でインストールする方法がちょっとよく分からないけど、とりあえず Python でもPDF作成ができるっぽい、ということをメモ。

以上です。

過去ログ表示

Prev - 2014/09 - Next
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

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project