satoryuの日記

忘れっぽいから覚えてるうちに書いておかないと。

docx v0.5.0 をリリースした

Wordなどで作られるOffice Open XMLファイルをRubyで扱うためのライブラリdocx のコミット権を昨年末にもらった。 今の所、既にあるIssueを整理し、既に出ていたプルリクエストをmergeできるものから取り込んでいった。 それらをまとめてv0.5.0としてつい先日リリースしたので、ここで今回のリリース内容を紹介します。

https://github.com/ruby-docx/docx

機能拡張

Added opening streams and outputting to a stream #66

これまではdocx形式のファイルしか扱えなかったのですが、このバージョンからストリームを扱うことができるようになりました。

Added supports for Office 365 files #85

前置きをしておくと、docxファイルはXMLファイルをzip圧縮したものです。展開してできたXMLファイルの構成やスキーマがOffice Open XMLで決められています。

通常であればdocument.xmlに本文のデータが保存されるのですが、Office365が生成するdocxファイルだとdocument 2.xmlに保存される事が報告されました。 そのようなファイルもこのリリースから扱えるようになりました。

バグ修整

  • Docx::Document handles a docx file without styles.xml #81

たまにプレインテキストのように、何の装飾もされていない文書があるようで、そういったファイルにはそれを記載するstyles.xmlが含まれていない事がわかりました。 これまではそのようなファイルを読み込もうとするとエラーになってしまったのですが、このリリースから問題なくその他の文書データを読み込めるようになりました。

  • Fixes insert text before after were switched #84

文書のブックマークを指定し、その前後にテキストを挿入するメソッドがそれぞれあったのですが、メソッド名とやっていることが逆だったので直しました。

バグ、リクエストの報告先

GitHubで受け付けています。 何かお困りの点がありましたら下記からIssueをオープンして下さい。

https://github.com/ruby-docx/docx/issues/new/choose