まさにあのAAが似合う、そんな代物だ。Webサイトでコネクション数を極力減らすための技術として、DataスキームURIが知られている。これはhttpからはじまるようなURLの代わりに、data:からはじまる書き方で直接データをbase64で表記して流し込んでしまう手法だ。

ピクチャ 7.png

できると思う?

 

対応しているブラウザは限られるが、仕様自体はRFC2397として定義されているのでIE7などでも利用できるようになっている。これを使えば画像のみならず、こんなことができてしまう。

今回紹介するオープンソース・ソフトウェアはjsPDF、JavaScriptで生成するPDFライブラリだ。

まさに無茶だ。jsPDFはJavaScriptだけでPDFを生成してしまう試みだ。何をばかなことを、とお思いだろうか。であれば実際に試してみると良い。日本語は残念ながら使えないが、英語であればちゃんとしたPDFが生成されることが分かるはずだ。

ピクチャ 8.png

ほら、簡単でしょ?

 

URL部分を見ると「data:application/pdf;base64,」から始まっていることが分かる。つまりDataスキームURIを使ってbase64化されたPDFデータをそのまま表示しているのだ。これを使うことでレンダリングなどを行うことなくJavaScriptからそのままブラウザにPDFを表示させている。

現状は文字だけに限定されるようだが、指定した場所に出力したり、改ページも行える。Safariで動作し、OpenraやFirefox3(Windows)でも恐らく動くとのこと。iPhoneのSafariでも動いてしまう。Mac OSXのFirefox3ではダウンロードがはじまってしまうが、ダウンロードされたファイルはプレビューで見ることができた。

これは無茶なように思えるが、応用が色々考えられるかもしれない。JavaScriprでExcelファイルを生成したり、PowerPointを生成するような猛者も現れるかもしれない。今後、フォントの埋め込みや画像の表示、テキストリンクにも対応させていくとのこと。期待(?)して待ちたい。

ピクチャ 9.png

日本語は今の所文字化けてしまう

 

jspdf - Google Code

 http://code.google.com/p/jspdf/