- 2010年1月21日 12:11
- flex
AlivePDFをFlash Player10で使えば、すべてswfだけでPDFを作り保存することができます。 create.phpを使わずに出来るというのはスゴい便利。
使い方はこんなかんじ。
ここではAlivePDFを拡張したMBPDFを使ってますが書き方は同じ。
var myPDF:MBPDF = new MBPDF( Orientation.PORTRAIT, Unit.POINT, Size.A4 ); myPDF.charSet = MBPDF.SHIFT_JIS; myPDF.addMBFont(MBFontFamily.GOTHIC,MBPDF.CMap_SJIS); myPDF.setDisplayMode ( Display.REAL ); myPDF.addPage(); myPDF.addMultiCell ( 210, 5, "いろはにほへとちりぬるをわかよたれそつねならむ",null,"L" )
よく使うのはこのメソッド。
addMultiCell(width,line-height,text,border,align)
borderはobject指定になってますが「1」をつければいいだけ。
alignは"L","C","R"で。
myPDF.drawRect(new Rectangle(10,120, 170, 61));
みたいなメソッドもあり、あんまり複雑な図形を使ったりしなければ、swfを作る感覚でPDFを作れる。
フォント問題
フォントはTimes,Arial,Courier,Helveticaなどが選択可能。
通常では日本語を使えない。
日本語を使うには、MBPDFを使う。MBPDF開発者のブログ(harhid-labo.com/PDF作成その2)では記事が削除されてる?(404だった)ので、Flashから日本語PDFを生成(AlivePDF+MBPDF)を見て真似してみました。
MBPDFを使えば、MSゴシックだけ使える。いちおうMBFontFamilyクラスにはPGOTHICやPMINCHOなどあるけど、MSゴシックだけ。
ちなみに、AlivePDFのFontFamilyとMBFontFamilyが1ファイルに混在するとAdobe Readerで読めなくなる。
(英数にArial、日本語にGOTHIC、というふうに使い分けることができない、ということ。macのプレビューでは混在していても読めるけど)
ちなみに、alivePDF1.5では、マルチバイトフォントがサポートされつつあります。
でもフォントファミリーが「Arial Unicode MS」しか使えず、かなり文字が汚い。外人さんが左手で書き写したひらがなみたいな文字です。
結論
文字がMSゴシックだけでいいのなら、AlivePDF1.49は十分実用できる。
今後バージョンが上がって、メイリオやヒラギノが使えたら神ライブラリ認定ですね。
フォントの埋め込み方がよくわからなかったですが、簡単に埋め込んで使えるなら、このままでもいいのかも。
サンプル
うそ履歴書を作るPDFメーカーをさくっと作ってみました。
ソースはFlexプロジェクト。mxml1枚なので中身見てもらえればFlashでもOK。
ダウンロードはこちら(zip)。
- Newer: Google Analytics チートシートを日本語に訳してみた
- Older: as3でテキストファイルを作成、ダウンロードする
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://ryow.net/mt/mt-tb.cgi/460
- Listed below are links to weblogs that reference
- AlivePDF 1.49でFlash Player10だけでPDFを作る from ryow.net Blog