JasperReportのPDF出力で、用紙の縦と横が混在したPDFを作成する

JasperReportsで複数のテンプレートを結合してPDFを出力する際に、最初に思いつくのはaddPageメソッドでページを追加してい くという方法だが、この方法だと用紙サイズ、用紙方向などが最初の用紙の設定でページが追加されるようで追加したページの設定が良くない。

そこで、少し面倒だが、各用紙の設定を維持したまま単一のPDF出力が出来るようにする
具体的には、JasperReportsのクラス で「JRPdfExporter」というのがあり、このクラスを使ってPDFを出力する

だるまラーメン

一緒に仕事している方がこのゴールデンウイークに実家に帰られて、
その時に買ってきてもらった、お土産のだるまラーメン、作ってみました。

家ラーメンなので、具を乗せないと寂しい感じになります。。

なので、ちょっと豪勢に

  • チャーシュー
  • ねぎ
  • のり

をトッピングしてみました。

チャーシューがのりに隠れて見えません…。。

でも、味はすごくおいしかったですよ♪

ごちそうさまでした。

Ruby から JasperReports でPDF帳票を出す(PDF出力処理をサーバ化)

Railsをpassengerで動かしている時に、RJBでJavaのライブラリJasperReportsを呼び出そうとすると

うまくいかなかった。

なので、一つの解決法としてJasperReportsの呼び出し部分をRailsとは切り離す仕組みとしてDRubyを採用する。

サンプルは別途リンクを張りますが、ここでは主要なソースのみ書き出します。

まずは、実際にPDFを作成する部分から

gen/WritePdf.java:

このJavaのメソッド「runTest」をrubyから呼び出します。

つづいて、この「runTest」を呼び出すrubyソース

create_pdf.rb:

これで、RubyからRJBを使ってJavaのインスタンスを起動し、JasperReportsでPDF出力することが出来ます。

ここまでの修正で、実行テストは

create_pdf_client.rb:

とし、このcreate_pdf_client.rbファイルを実行すると、PDFファイルが作成されます。

JasperReportsで複数の帳票を結合してPDF出力する

VMWare Server のゲストOSのディスク割り当てを変更

本日は天気がよいです。

そんなよい天気を家の中から眺めながら、VMWare Serverの設定をチマチマ修正してます。

最近VMが増えてきたので、ディスク割り当ての量が把握し切れてません。。

可変サイズはよくないです。。

なぜなら、ホストOS上のディスクを使い切った場合に、ゲストOSのディスクが可変で

何かファイルを追加したりした場合に、ディスクが拡張できずにエラーになるのです。。

ということで、各VMのディスクを実サイズ分確保するように変換かましてみました。

VMWare Server 2にはvmware-vdiskmanagerというコマンドがついています。

このコマンドは、VMのディスクイメージを作ったり変換したりするコマンドで

今回はこれを使って

サイズ可変のディスクイメージを、サイズ固定のディスクイメージに変換かけます。

vmware-vdiskmanagerのオプションで

[-r]は、変換したいディスクイメージの指定

[-t]は、変換後のディスクイメージのタイプ

vmware-vdiskmanager –helpとやることで、ディスクイメージのタイプの説明は出てきます。

今回はディスクイメージの容量分をあらかじめ確保しつつ、2GBでディスクイメージを分割したいので

3番のpreallocated virtual disk split in 2GB filesを選択します。

最後の引数が、変換後のファイル名

変換後のディスクイメージをそのまま使いたいので

convというディレクトリを準備し、その中に変換後のディスクイメージを書き出します。

これで、変換前のを削除して、convの中のディスクイメージを移動すればすぐ使えます。