2008-05-15[n年前へ]
■3DコンテンツをMS Office文書やブラウザに挿入可能な「みかん」
3DコンテンツをMS Office文書やブラウザに挿入可能な「みかん」
2008-12-10[n年前へ]
■Office付属OCR機能で「板書画像を一発でPPTファイルにするRubyスクリプト」を作る
「ホワイトボード前で打ち合わせをして、打ち合わせ終了時にホワイトボードに書いた板書をプリントアウトして、後でパワーポイント資料を作り直す」といった作業をしたことがある人は多いと思います。あるいは、(印刷機能を持ったホワイトボードは高いですから)「ホワイトボードに板書した内容をデジカメやケータイで撮影しておいて、撮影画像をプリントアウトした後にパワーポイント資料を作ったり」、「撮影画像をモニタ上で眺めながらパワーポイントを作ったりした」ことがある人も多いのではないでしょうか。
そんな人、そんな時のために、Office 2003以降に着いてくる"Microsoft Office Document Imaging"のOCR機能を使って(デフォルト設定ではインストールされないかもしれません)、「板書画像を一発でPPTファイルにするRubyスクリプト」を作ってみました。作ったもの一式をとりあえずここに置いておきます。
たとえばこんな手書きの板書があったら、
ruby imgOCRppt.rb rakugaki.jpgといったようにimgOCRppr.rbスクリプトを呼ぶと、rakugaki.pptというファイルができあがります。この例では私のラクガキ手書き文字が汚いせいで、ずいぶんと文字化けしていますが、達筆な人が描いた板書なら、きちんとしたパワーポイント(PPT)ファイルが(もしかしたら)生成されるかもしれません。
スクリプトの内容は、
require "win32GuiTest" img=ARGV[0] Win32GuiTest.img2PPTbyOCR( img.sub(/\.jpg$/i,'.ppt'), Win32GuiTest.bmp2texts(img), img.sub(/\..?$/i,'') )とい風で、"img2PPTbyOCR"と"bmp2texts"という2つのメソッドからできています。
ちなみに、画像からテキストを抽出するOCR部分("bmp2texts")のRubyソースは、次のようになっています。
def Win32GuiTest.bmp2texts(file) doc=WIN32OLE.new('MODI.Document') doc.Create(file) doc.OCR(17, false, false) # Japanese layout=doc.Images(0).Layout str=doc.Images(0).layout.Text doc.Close return str endそして、この後、 Win32GuiTest.img2PPTbyOCR で画像ファイル名をスライドのタイトルにして、画像ファイルからOCRで抽出されたテキストをスライドのコンテンツ・テキストとして入力・保存する、という内容になっています。
2008-12-11[n年前へ]
■「板書画像をベクタライズしPPTファイルにするRubyスクリプト」を作る
「Office付属OCR機能で「板書画像を一発でPPTファイルにするRubyスクリプト」を作る」で、板書画像を文字認識した上で、パワーポイントのファイルに変換するRubyスクリプトを作ってみたわけですが、あまりの悪筆で板書文字をろくに認識してくれなかったりすることも多いと思います。また、板書にイラスト・説明図を頻繁に描くような人も、おそらく少なからずいると思います。
そんな時、「板書画像を自動でベクタライズした上で、パワーポイント上でイラストを再編集することができたら便利だろう」というわけで、「板書画像をベクタライズしPPTファイルにするRubyスクリプト」を作ってみました。その例がjpg2ppt.rbです。
require "win32GuiTest" jpg=ARGV[0] Win32GuiTest.img2PPT( jpg.sub(/\.jpg$/i,'.ppt'), Win32GuiTest.jpg2wmf(jpg), true)という具合でいつものように、処理本体自体は win32GuiTest に(とりあえず)入れてあります。
スクリプトを置いたディレクトリに"apps"という名前のサブディレクトリを作り 、その中にここからダウンロードしたPotraceのバイナリ・ライブラリ類を置いて、さらに、JPG2BMP に入っているバイナリ・ライブラリ類をを置けば準備完了です(win32GuiTestの末尾当たりを見れば、その汚い実装や変更方法がわかると思います)。後は、
ruby jpg2ppt.rb rakugakiv.jpgとスクリプトを呼べば、こんんなパワーポイントファイルができあがります。
PPT(パワーポイント)ファイルに貼り付けられた画像はベタライズされた上で、Windows Meta File形式でスライド上に貼り付けられているので、グループ化を解除していけば、後でベクター部品に分解された板書の再編集が可能、ということになります。
2009-03-29[n年前へ]
■「理想」を「誰でも簡単に実現できる」ようにしたい
「論理的にプレゼンする技術」は、これまでに書いたものとくらべて、
「これが理想だ」という資料を、「コンピュータに慣れていない人」「パワーポイントしか使わない人」でも簡易に作れるようにするということを、これまでよりずっと強く意識して書き・描きました。逆にいえば、これまでに書いたものは、今振り返って考えてみると「コンピュータに慣れていない人」には、あまり優しくなかったように思います。
しかし、たとえば、今回の本の挿入図はほぼすべてが「Windows VistaのLunaモードでの操作画面」になっています。つまり、コンピュータに慣れていない人が、本に掲載されている図の通りに辿れば(混乱せずに)やりたいことができるようにしようということで、Lunaモードで画面をキャプチャしまくりました。それは、つまり、コンピュータのデフォルト設定を変えたりはしない人、が読むさまを想像しながら作ったからです。
また、たとえば「図を張りこんだグラフ・特殊効果グラフ」なども、すべて「PowerPointだけで」作る手順を書いてみました。「使えるものはすべて使おう」という理想ではなく、「Windows上でMicrosoft Office(だけ)を主に使う人・場合が多い」という現実の中で、いかに「理想に近いものを(しかも簡易に)作るか」ということを考え、そういった手順書(図)を作りました。
いろいろな「わからないこと」「わかりにくいこと」をわかろうとする毎日の中で、「わかりやすい」とはどういうことかと、いつも考えています。わかりやすい説明・プレゼンという「理想」を「誰でも簡単に実現できる」手伝いをしたい、とよく思います。本書が、そんな手伝いができたら、ほんの少しでも役に立てたら、何よりも幸いです。
2009-11-20[n年前へ]
■パブリックベータが開始された「Office 2010」
パブリックベータが開始された「Office 2010」(ダウンロードサイト)
各アプリケーションに共有のコンセプトとして、コラボレーション機能がある。コラボレーションン機能を利用すれば、複数ユーザーでひとつのドキュメントを編集できる。完成したドキュメントをロックして編集できなくする機能や、複数人のコメントを反映して文書を更新したり、以前の版との変更部分を簡単に表示する機能をある。このコラボレーション機能は、Word、Excel、PowerPointで複数ユーザーによる共同作業でドキュメントを作成・編集するのに非常に役立つ。
PowerPointで面白いのはエフェクト機能だろう。PowerPointのエフェクト表示に、GPUのハードウェアアクセラレーションが利用されている。例えば、プレゼンテーションスライドの切り替え時に、画面が粒子のように舞って次の画面に変わるというエフェクトも用意されている。GPU の機能を利用しているためCPUに大きな負荷をかけずに、派手なエフェクトが利用できる。