はじめに
QRコードの生成はASTERIA WARPのコンポーネントでは提供されていないのでZXingライブラリを使って試してみました。
環境
- OS : Windows 10
- Java:1.8.0.121
- ASTERIA WARP : 1703
- ライブラリ : ZXing
- core-3.3.0.jar
- javase-3.3.0.jar
モジュールの配置
core-3.3.0.jar、javase-3.3.0.jarを[DATA_DIR]/system/lib/userlib
に配置
─system
├─lib
└─userlib
core-3.3.0.jar
javase-3.3.0.jar
フローの作成
JavaInterpreterコンポーネントを使ってサンプルなどを参考にコードを記述します。

何も考えなければこれで動作確認までできると思います。
パラメーターを設定して動的に引数を渡す
JavaInterpreterにパラメーターを設定し、コードに埋め込むことで動的に値をセットすることができるようになります。
QRコードに埋め込む文字列や出力するファイルパスなどをセットするとよいと思います。

コンポーネントプロパティ「ソースコード」の該当部分
String contents = component.getParameter("コンテンツ").strValue();
int width = component.getParameter("横幅").intValue();
int height = component.getParameter("高さ").intValue();
ImageIO.write(image, "png", new File(component.getParameter("出力ファイルパス").strValue()));
Binaryの出力ストリームとしてリターンする
JavaInterpreterのヘルプにも通常は文字列で返せば簡単と書いてあるのですが、StreamFactoryを使ってBinaryの出力ストリームとしてセットしてみます。

コンポーネントプロパティ「ソースコード」の該当部分
//Binaryストリーム出力
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(image, "png", bos);
StreamFactoryBinary factory = (StreamFactoryBinary)component.getOutputConnector().getStreamFactory();
return factory.create(bos.toByteArray());
出力したQRコード
こんな感じで生成できました。
PDFファイルに埋め込み
Binaryストリームとして出力しているのでそのままPDFコンポーネントに差し込んでQRコードの画像を埋め込んだPDFを出力することもできました。
出力したPDFファイル
おわりに
ZXingにはQRコードのデコードもあるようなので時間があるときに試してみたいと思います。