teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

解決策の追加

2017/10/28 14:35

投稿

s-show
s-show

スコア203

answer CHANGED
@@ -2,4 +2,20 @@
2
2
  このあたりはどうでしょうか。GitHubで更新状況を見たところ、今年に入ってから3回ほどコミットしていますので、開発は継続しているようです。
3
3
  [pythonicrubyist/powerpoint: Creates Powerpont presentation in Ruby.](https://github.com/pythonicrubyist/powerpoint)
4
4
  こちらのGemを使った事例については次のサイトが見つかりました。他にもあると思いますので、探してみてください。
5
- [powerpoint gem で PowerPoint のスライドを生成する - Tbpgr Blog](http://tbpgr.hatenablog.com/entry/2016/09/30/223254)
5
+ [powerpoint gem で PowerPoint のスライドを生成する - Tbpgr Blog](http://tbpgr.hatenablog.com/entry/2016/09/30/223254)
6
+
7
+ ---(2017/10/28追記)---
8
+ PowerPointのファイルは`.pptx`が基本となっていますが、このファイルの実態はZIPファイルであり、中にはXML形式で内容が記述されています。
9
+ そのため、テンプレートファイルを作成する必要はありそうですが、以下のような手順を踏めばRailsのプログラムからPowerPointファイルを作成できるかもしれません。
10
+
11
+ 0. テンプレートファイルをコピーする
12
+ 0. コピーしたテンプレートファイルをZIPファイルとみなして解凍する
13
+ 0. 解凍してできたファイルの中から、内容を変更したいXMLファイルを開く
14
+ 0. XMLファイルの内容をプログラムから変更する
15
+ 0. 変更後のXMLファイルとその他のファイルを圧縮して拡張子を`pptx`に変更する
16
+
17
+ 相当面倒な作業になるかと思いますし、XMLファイルの各要素の定義が見つかりませんでしたので、適当なPowerPointファイルを作成してXMLファイルを確認して自力でリファレンスを作る必要がありそうですが、このぐらいしか思いつきませんでした。
18
+
19
+ 【参考情報】
20
+ [.pptx ファイルと戯れる (主にテキストエディタで)](https://www.cresco.co.jp/blog/entry/740/)
21
+ [初めての XML - Office サポート](https://support.office.com/ja-jp/article/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AE-XML-a87d234d-4c2e-4409-9cbc-45e4eb857d44)