質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • Ruby

    7675questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails 4

    2437questions

    Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Railsからパワーポイントを出力したい!

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 500

kd314

score 11

要件・実現したいこと

RubyのGem等で.pptx形式で出力を行いたいがどうもみつからないです。。
・Centosの為、32OLEは駄目

また、可能ならですが要件として
テンプレートに値を埋め込みたい。
イメージ的にはthinreportsのような感じ。

そもそもRubyからMicrosoftソフトウェアの操作が弱いので
要件的にパワーポイントは厳しいのでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

"ruby powerpoint"で検索するといくつかGemが出てきます。
このあたりはどうでしょうか。GitHubで更新状況を見たところ、今年に入ってから3回ほどコミットしていますので、開発は継続しているようです。
pythonicrubyist/powerpoint: Creates Powerpont presentation in Ruby.
こちらのGemを使った事例については次のサイトが見つかりました。他にもあると思いますので、探してみてください。
powerpoint gem で PowerPoint のスライドを生成する - Tbpgr Blog

---(2017/10/28追記)---
PowerPointのファイルは.pptxが基本となっていますが、このファイルの実態はZIPファイルであり、中にはXML形式で内容が記述されています。
そのため、テンプレートファイルを作成する必要はありそうですが、以下のような手順を踏めばRailsのプログラムからPowerPointファイルを作成できるかもしれません。

  1. テンプレートファイルをコピーする
  2. コピーしたテンプレートファイルをZIPファイルとみなして解凍する
  3. 解凍してできたファイルの中から、内容を変更したいXMLファイルを開く
  4. XMLファイルの内容をプログラムから変更する
  5. 変更後のXMLファイルとその他のファイルを圧縮して拡張子をpptxに変更する

相当面倒な作業になるかと思いますし、XMLファイルの各要素の定義が見つかりませんでしたので、適当なPowerPointファイルを作成してXMLファイルを確認して自力でリファレンスを作る必要がありそうですが、このぐらいしか思いつきませんでした。

【参考情報】
.pptx ファイルと戯れる (主にテキストエディタで)
初めての XML - Office サポート

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/28 02:03

    ご返信ありがとうございます。

    そちらを参考にもしてたのですが、
    出力するスライドの要素がgem側で
    指定されているようなので
    もう少し細かく出力要素や配置を指定したいです。
    わがままですが…

    キャンセル

  • 2017/10/28 23:36

    PowerPointファイルがZIPファイルであり、中にファイルの内容を示したXMLファイルがあることを思い出しましたので、その方面からの解決策の案を追記しました。

    キャンセル

  • 2017/10/29 01:53

    考えてくださりありがとうございます!

    xmlテンプレに対して書きこめるような処理を
    プロト的に作成してみました。
    なんとなかりそうです!
    ありがとうございます (^-^)

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Ruby 条件に合うキーと値を出力したい

    Rubyでプログラムを書いていて、 あるハッシュにはユーザー名とポイントが入っていて、 ハッシュ内である特定のポイント数を持つユーザーとポイントを出力したいのですが どうすればでき

  • 解決済

    配列のコピーについて

    配列のコピーについて http://www2u.biglobe.ne.jp/~MAS/ruby/C7DBCEF3A4CEA5B3A5D4A1BC.html にも書いてあるようなので

  • 解決済

    添削のお願い

    title_caseという関数を作ります。 第一引数に文章を、第二引数に前置詞を書きます。(第二引数は任意) 文章は全てcapitalizeしますが、第二引数に書かれた前置詞は小文

  • 受付中

    参照について

    皆様、質問がございます、宜しくお願い申し上げます。 配列のイメージ 整数が配列の格子の中にないことに注目してください。先ほど「コレクションは容器」と説明しましたが,実際には配

  • 解決済

    ruby on railsのcontrollerのclass名について

    このサイトと同様のアプリを作ろうとしています。まず自分の作ったアプリのcontrollerの1行目とmodelは以下のようになっています model Project contr

  • 解決済

    Rails で背景に画像を表示したいのですが取り込み方を教えてください。

    Rails5.1.3でWebアプリケーション制作の勉強をしています。 ページの廃幣に画像を取り込みたいのですが上手く取り込めないので教えてください。 取り込みたい画像は bg001

  • 解決済

    曜日による分岐をスッキリさせたい

     曜日による分岐をスッキリさせたい 現状 if Time.zone.today.sunday? duty = "資源ごみ" toban = Tobanhyo.where

  • 解決済

    Railsでポイント機能を実装したい。。

    Ruby on rails で開発を行っている初心者です。 只今、ECサイトを制作しているのですが サイト内で商品を購入する際に、支払いのAPIではなくサービス内で使えるポイン

同じタグがついた質問を見る

  • Ruby

    7675questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails 4

    2437questions

    Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。