JasperReports.NETのつづき

JasperReports.NETをちょっと改良?して、
propertiesファイルを使用しないようにした。
exeの直下にある、templateフォルダにjasper。pdfフォルダに出力されるようにした。
http://pluswing.net/down/JasperReports.net.v2.zip
このバージョンは、プロジェクトを開いて実行するか、
すでにexeがbin/Debugフォルダにできてるので、それを実行すればよろしい。
PDFが出力される。


なんかこれだけだと面白みがわからない?ので、
出力のサンプルコード(C#)

// クライアントの生成

JasperReportsClient client = new JasperReportsClient("test.pdf");



// ページの生成

JasperReportsPage page = new JasperReportsPage("test.jasper");



//パラメタ設定 int,long,double,DateTime,bool,IListのいづれかを設定可能。

page.Assign("param1", "data");

page.Assign("integer", 10);

page.Assign("long", 100000000L);

page.Assign("double", 3.14);

page.Assign("date", DateTime.Now);

page.Assign("bool", true);

IList list = new List();

list.Add(10);

list.Add(20);

page.Assign("collection", list);

//ページを追加

client.Add(page);



// 2ページ目作成

page = new JasperReportsPage("test.jasper");

page.Assign("testParam", "2ページ目");

client.Add(page);



// PDF出力&生成後にPDFリーダで開く

client.Report(JasperReportsClient.EXPORT_TYPE.PDF, true);

// PDF出力 この場合は出力のみで開かない
//client.Report(JasperReportsClient.EXPORT_TYPE.PDF);

//プリンタに直接出力

//client.Report(JasperReportsClient.EXPORT_TYPE.PRINTER);

こんな感じでPDFが出力できる。


PHP版のクライアントコードも書いてみた。
一応動く版なので、しっかりしたものを再度公開する予定。
http://pluswing.net/down/JasperReports4PHP.zip

PHPの出力サンプルコード

require_once("JasperReports.php");
$client = new JasperReportsClient();
$page = new JasperReportsPage("test.jasper");
$page->assign("first", "10");
$page->assign("second", "210");
$page->assign("qwe", true);
$page->assign("rew", 10.35);
$page->assign("aaa", array(10, 20, 30, 40));
$page->assign("testParam", "出力されてますか?");
$client->add($page);
echo $client->report();


Javaとの連携なんて場面あんのかよ!という事以外は概ねいい感じ。