RubyOnRailsで帳票印刷

Rails4でdocxを読み書き〜gem docx

投稿日:

github.com/chrahunt/docx

rubyでもいいんだけど、rubygemでのバージョンが最新でなかったのでRailsアプリを作って試してみた

環境

  • Mac OSX Merverick
  • Ruby 2.1.1
  • Rails 4.0.3
  • docx 0.2.04

準備

適当にワードファイルを作っておく.

tableも扱うので表もあるワードファイルが望ましい.

日本語ファイル名でもOK.

Railsのサンプルアプリを作り、tmp以下にでもdocxファイルをいれておく.

以下のサンプルはこんな感じ

Gemfile

Controller

View

screenshot

読みこみ

ブックマーク

Wordにはブックマークという機能があるらしい.

ブックマークを追加または削除する

docxジェムでは、ブックマークの前後に文字を書き込むようにしている.

bookmarkの一覧を読み出すには、

公式のREADMEを見るとわかるけど、名前とオブジェクトを抜き出せるぽい

テーブル

新機能のテーブル操作

書きこみ

ブックマークを基本にinsert_text_afterかinsert_multiple_linesを使う.(公式のREADMEはメソッド名が間違っているので注意)

insert_text_afterは、ブックマークの後ろに文字列を挿入する.

ブックマークの場所は表の中でもOKだった.

insert_text_beforeもある.

insert_multiple_linesは、配列を渡して配列の要素を1行として、対象の行を書き換える.

もちろん、表の中でもOK.

結論

日本語が通るって素晴らしい

-RubyOnRailsで帳票印刷
-

執筆者:

関連記事

no image

Rubyからdocxを生成する

    前提 Rubyでdocxをいろいろ分析してみた 変数の仕様~正規表現 いろいろなパターンで試してみた 例えば、こんな文 [crayon-5d07df908364c54079 …

Rails4でerbぽいテンプレートからdocxを作成〜docx_templater

By: Kanko* – CC BY 2.0 目次1 docx_templater2 準備3 インストール4 サンプル作成5 できた6 node.jsでdocxを生成するライブラリがリリー …

今度こそRails3.2からdocxを生成する

目次1 前提2 構想3 アップロード4 スキームの保存5 docxの生成6 レイアウトと画面遷移を考える7 データの更新8 データの削除 前提 Rubyからdocxを生成する 前回、イキオイアマって自 …

no image

Rails3でrtfを出力

  rtfはリッチテキストフォーマット、ms wordなどで扱えるほか、標準添付のwordpadなどでも扱える config/initializers/mime_types.rbを編集 [c …

no image

RubyでDocxを分解してみた~Nokogiri::XML::SAX

    参照 Rubyでdocxをいろいろ分析してみた 今度はsaxのアプローチでdocxのword/document.xmlを分解してみた 使い方は、Nokogiri::XML: …