Home > flex > AlivePDF 1.49でFlash Player10だけでPDFを作る

AlivePDF 1.49でFlash Player10だけでPDFを作る

  • Posted by: ryow
  • 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」しか使えず、かなり文字が汚い。外人さんが左手で書き写したひらがなみたいな文字です。
Arial Unicode MS

結論

文字がMSゴシックだけでいいのなら、AlivePDF1.49は十分実用できる。
今後バージョンが上がって、メイリオやヒラギノが使えたら神ライブラリ認定ですね。

フォントの埋め込み方がよくわからなかったですが、簡単に埋め込んで使えるなら、このままでもいいのかも。

サンプル

うそ履歴書を作るPDFメーカーをさくっと作ってみました。

ソースはFlexプロジェクト。mxml1枚なので中身見てもらえればFlashでもOK。
ダウンロードはこちら(zip)

Comments:0

Comment Form

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

Home > flex > AlivePDF 1.49でFlash Player10だけでPDFを作る

About

りょうどっとねっとブログ

Twitter Id:ryownet

はてなブックマーク Id:ryownet

Search

Return to page top