懸崖日記

ひげよねの日記。 断崖のわずかな土に根を張る為にやっていること、考えていること。 大学院へ長期入院していましたが、とうとう退院してしまいました。 これからどうするか…。続けること、新しく始めること。いろいろ模索中。

気楽にコメント下さいな。

enchantMOON

2.9.0未対応申し訳ありません

いくつか、enchantMOON向けに作成したシールを公開していますが、現時点(2014.05.04)では、ver.2.9.0で動作確認ができていません。
対応次第、再度ご報告致します。
宜しくお願い致します。

enchantMOON 簡易プレゼンシール

enchantMOONでプレゼンをするためのシールを作ってみた。
こちら↓
flow.moon.zip

@esmasuiさんが作られたtwitterに投稿するシールを使わせて頂いていますが、これを見た時から考えていたもの。

enchantMOONは思考を助けるノートとして、使用者には関連が分かるけど、他の人に説明するにはひと工夫必要になる。
ハイパーリンクでページ間を結ぶことで、複数のページまたがる内容の説明はできる。
ただ、1ページに収まるような内容を説明するのに、複数のページを使うのもどうかと思う。
特にフローを示すような場合、全体(説明したい領域)が見えるようにしておいた方がいい。

ということで、1ページ内の情報で、簡易プレゼンができるかな(?)的なものを作ってみた。
タップする毎に、表示情報が増えていくというもの。



要は、ページに書かれた内容、シール化された内容を順に表示していくだけです。
最初:ページに書かれた内容
2回目以降:シールの内容
最後:終了

ページ、シールの内容を表示するのは、@esmasuiさんが作られた drawStroke.js を使いました。
あらかじめ、1度に表示するブロックを、シール化しておく必要がありますが、それほど手間では無いのでいいかなっと。
シールが表示される順番は、ページのinfo.jsにstickersとして記載されている順番です。
このシールが途中に入っている場合は、飛ばします。
自分のIDの取得は、@myaa3さんのスタンプシールを参考にしました(そのまま)。

できなかったこと
1:表示順の編集
  ページのinfo.jsは編集できないのであきらめました。
  stickersとして記載される順番は、ページ内で編集された順なので動かすと最後になります。
  シールを少しずつ動かして編集するってことで良いかなと。
2:画像表示
  他のシールに設定されているbackground.pngを表示できなかった。
  なので、ペンで書いた内容のみ表示されます。

まぁ、対して難しいことしてない(表示はdrawStroke.jsを使わせて頂いたし)自己満足のシールですが、もし本当にenchantMOON(MOONPhase)が会議机やホワイトボードに組み込まれるようになった時には、こんな感じのことが出来る必要があるんじゃないかな?と思うのです。

PDF表示めも

enchantMOONでPDF.jsを使おうとして、躓いたことのメモです。
ただし、
PDF.jsをただ単に使うだけじゃなく改変などをすれば対応できることかもしれません。
シールの作り方などが良くないのかもしれません。

まず、PDF.JSを使って表示させるのは、"ブラウザ上"か"シールでページに"かで迷いました。
PDF.jsがブラウザ上でPDFを表示させる仕組みなので、まずはブラウザから始めた。
これは、前にも書いたけれど、enchantMOONのブラウザがそこそこPDF.jsをサポートできそうだったから。
それで、シールでページに表示させることを考えたのだけど(表示できれば前回情報とか背景化とか出来そうなので)、どうにもうまくいかなかった。
これは次の2つが原因かなぁと考えている(ただ単にシールの作り方の問題かも)。
PDF.jsが処理した結果をdataURL形式で返してくる。
PDFに埋め込まれたフォントがシステムになかった場合、PDF.jsはブラウザのフォント設定に従って処理する。

幾つかPDFを表示させたところ、表示されないものがあった。
共通するものが何かまでは分かっていない。
なんとなく、埋め込みフォントが影響している気がしている。
あとは、ファイルサイズ。
enchantMOONの処理速度が遅いことも影響している気がするけど、よくわからない。
(enchantMOONのブラウザは構造をシンプルにしている?ようだし)

ブラウザで表示させることにしてシールでは、ファイル名やページの管理をさせることにしたのだけど、設定されていないPDFファイルをはじくエラー処理とかを入れたかった。
/Dataに入れる表示側の作りこみで、getJSON()が使えたので、シール側から読み出そうとしたのだけど、「同じドメインのデータにしかアクセスできないというポリシー」に引っかかったみたい。
別ドメインのJSONを読めなかったのであきらめた。
これは、enchantMOONの問題?@ahinoreさんのブックリーダーから流用させてもらったjsの問題?
この辺り、明るくないのでよくわからない。

もう少しエンジニア魂が残っていれば、いろいろと調べたりするのだろうけど、そのへんの馬力が随分となくなっているので、この辺で止めた次第です。

enchantMOONでPDF表示

「できたかな〜?」と思って、いくつかのPDFファイルで表示確認したら、表示できないものが多くて、このシールとか自分専用で公開するのやめようかな?と考えたのですが、Twitterで「PDF.JSを使って試している」とか、「できそう」とか、つぶやいてしまっていたので、「この程度でした!」ってことを公開。
(「Giant Leapコンテスト」にも出そうかとたくらんでいましたが、この程度では出せません…)

さて、作ったのは次の2つのzipファイルになります。
PDF.JSを使ってブラウザ表示を行うDataフォルダに置く
PDF.zip
(また、@ahinoreさんが作られたブックリーダーを参考にしました。)

上記のindex.htmlを呼び出したり、同一ページであれば前回指定(入力)したファイル名などを管理するページに貼るシール
pdfreader.moon.zip


PDF.zipファイルを解凍してできたPDFフォルダをenchantMOONの/Dataフォルダに置いて下さい。
pdfreader.moon.zipは、enchantMOONにダウンロードして、シールとして使います。
使い方はこんな感じ。
pdfreader_1
ファイル名を聞いてくるので、PDFファイルのファイル名が分かっている場合は入力します。
ここで入力したファイル名はローカルストレージに保存されて、次回使用時に初期入力されます。
ファイル名を入力すると表示ページを聞いてくるので、ページ番号を入力します。
(不正なページ番号の場合は、1ページ目か最後のページが表示されます)
ここで入力したページ番号もローカルストレージに保存されて、次回使用時に初期入力されます。
ただ単にPDF化した資料を読んでいきたいときは、この入力された情報が役に立つかな?と。
入力時にキャンセルした場合は、ファイルリストか1ページ目の表示になります。

PDF表示は以下のようになります。
pdfreader_3
不正なファイル名が入力された場合は、ファイル名は表示されますが、ページ表示がされません(もちろん内容も)。
また、表示は画面横幅(768)に合わせています。
(横長のPDFの場合、90度回転させることも考えましたが、やり方がわかりませんでした)
縦長のPDFの場合は、若干画面下にはみ出ることになりますが、スクロールで確認できます(横もほんの少しスクロールします)。

PDFの表示ができない場合は、
・真っ黒の画面
 ないファイルを指定された場合であれば、リスト表示に移動してファイルを選択しなおして下さい。
 そうでない場合は、PDF.JSの動作がおかしい時だと思われるので、ボタン押下なのど反応も悪いので、ブラウザをキャンセルして止めたほうがいいと思います。
・真っ白の画面
 ボタン押下などの反応はしますし、他のページだとちゃんと表示されたりします。
 (ページ移動で戻ってきたら表示されたり)
・文字化けした表示が行われる
 現時点では表示できないPDFだと思います。
他、少しだけ表示されるということが起きますが、これは画面をタップしたりスクロールしたりすると全て表示されるようになったりします。
pdfreader_2
どうしても表示されない場合もあります(上記の図だと、1番上の「確率ブロック」の画像が表示されていない)。

PDFファイルはenchantMOONをPCと接続して、/Data/PDF/fileに入れてください。
ファイル名は英数字として下さい(あまり長い方が良いです)。
list.jsonファイルに{"name":"pdfsample.pdf"}の形式で入れたファイル名を書き込んで下さい。
list.jsonに書き込むことで、リスト表示されるようになります。

PDF表示は、はっきり言って遅いです。
表示されるまで、一呼吸、二呼吸は待つつもりでお使いください。
表示されるかされないかは、そのPDFに埋め込まれているフォント次第だと思うのですが、よく分かっていません。
MS-Wordから直接PDF変換したものは表示されたので、使い道がないわけではないと思っています。
コメントあればお願いします。

PDF表示に関する他の情報は(ほんの少しですが)別記事に書きます。
→書きました(PDF表示メモ)。

ブラウザかシールか

enchantMOONでPDF.jsを使って、PDF表示をさせようとしている。

複数ページを一度に表示させるのは円ちゃんのパフォーマンスを考えるとつらい。
なので、1ページ表示で前ページ/次ページの切り替えを行うことにする。
(サンプルコードがあって楽)

とりあえず、ブラウザでの表示はできるようになった。

さて、ブラウザでの表示だと、切り抜きはペンでエリアを指定することになる。
これだと、結構ガタガタなものになる。
ページ単位で切り取りたいと思ってしまう。
これはちょっと難しい…というか、今のところできない。

ページ単位で切り取ることをするには、シールにするのが良いと思われる。
(出来るかどうかはわからない…できそうな気がするだけ)
ただ、シールにするのはちょっと大変そう。
簡単にできるかな?と思ってやってみたが、無理だったので後回しにした。
ブラウザ版が(まだ微修正が必要だが)一応できたので、再度シール版を作るか悩み中。



…ブラウザ版でいい気がしてきているが…
プロフィール

ひげよね

メッセージ

名前
メール
本文
QRコード
QRコード
  • ライブドアブログ