SVF for Java Print 6.2cから6.3リリース情報

公開日時:2012/10/03 17:16 記事番号:000009345
製品ブランド:SVF

機能追加事項

・イメージを縦横比固定で貼り付ける機能を追加しました。
vfreport.propertiesにBitmap.StretchMode=1と設定することにより有効になります。
・フィールドなしの帳票も印字できるようにオプションを追加しました。
vfreport.propertiesに下記を追加しました。
VrSetForm()の全モードに対応しています。
ReportWriter.FormOutputMode=0 or 1 (規定値はゼロ)
0 ... フィールドなしの帳票を出力しない。(従来互換)
1 ... フィールドなしの帳票を出力する。 (VrComout("/{FOUT 1}/")を使用)
・全APIの文字列パラメタに対してnullチェック処理を追加しました。
オプション設定によりnull文字列パラメタを空文字に変換する機能を追加しました。
但し、従来通り、ログにはnullを示す"(null)"が出力されます。
vfreport.propertiesに次のオプションを追加
ReportWriter.NullCheck=false or true (default is false)
false ... 従来通りNullPointerExceptionが発生し、-4971が返される。
この場合、PDF等のファイル出力はされません。
true ... 文字列パラメタがnullの場合、空文字(")に変換します。
・親リンクフィールド値の参照方法のプロパティを追加しました。
[vfreport.properties]
ReportWriter.linkFieldRefMode=0 or 1 ... (1=デフォルト)
0 ... 入力データを返す(C版のデフォルトと同じ動作です)
但し、編集式からの自己参照時は分割データを返します。
1 ... 分割データのみを返します(Java版の従来のデフォルト動作です)
・JARの起動で機種別バージョンを表示するようにしました。
(java -jar svf.jar で、機種別のバージョンも表示します。)
・システム変数(_TOTAL_PAGE_CNT)を追加
_TOTAL_PAGE_CNTは、各サブページの総頁数を返します。
※この変数は、_TOTAL_PAGE_COUNTと同様に2度印刷処理を行うことで実現します。
・PCL5:HT-4558対応
環境設定で「HT-4558拡張」を「使用する」に設定することにより有効になります。
・PCL5:RDEで指定された文書名(VrSetDocName2()による設定)を、ジョブ名としてRAWデータ内に書き込みます。
・PCL5:印字位置のC互換モード
環境設定で「上端位置決めモード」を「C版互換」に設定すりことにより有効になります。デフォルトは「Java版互換」です。
・VSP:半角文字の印字幅を大きくするモードを追加。
環境設定で「半角文字幅拡大モード」・「半角文字幅拡大時の印字位置調整」を設定することで有効になります。
・LIPS3:環境設定で「LBP3960拡張コマンド」を「有効」に設定することにより、他の機種同様に両面印刷ができます。

修正事項

・空白文字のみの出力の場合に、印刷がなされない不具合を修正しました。
・VrAttribute("BLANK=レコード名")が常に印字されてしまうのを修正しました。
"BLANK"は、合計レコードが改頁なしで印字後に、印字可能な場合のみ印字します。
・ビットマップファイルをURLで指定した場合に、原寸サイズの指定が効かない点を修正しました。
・フィールド塗りこみで、塗りこみ枠の線幅を考慮していなかったので、塗りこみ枠が塗り潰されてしまう点を修正しました。
・リンク先の様式で改頁した場合、部数の指定がクリアされてしまう点を変更しました。
・数値項目桁あふれ時の表示をC版に合わせました。
・0xOCで改ページした時のExceptionを回避する様にしました。
・リンクフィールドにおいて、デリミッターを含む文字数がフィールドの桁数と同じ場合に、デリミッターが残ってしまう不具合に対応しました。
・自動リンクフィールドの場合のフィールドバッファ長の修正を行ないました。
・開始行にフィルタリング処理の4が指定されているPNGファイルに対応しました。
・方向を横に設定したレコードの罫線サプレスが正しくなかった点を修正しました。
・右詰の文字列描画がずれる場合があった点を修正しました。
・RWバナー(VrAttribute("FIELD", "BANNER=FORM.FRM")の印字方法を変更しました。
今までは、VrSetForm(0)&VrSeqOut()で実現していたがフィールドなしの帳票も印字できるように、VrComout("/{FOUT 1}/")を使用するように変更しました。
・総頁数と連番変数を組み合わせると文書管理番号が取得できない点を修正しました。
_TOTAL_PAGE_COUNTと_SERIAL_PAGE_COUNTを組み合わせたとき、VrInit()~VrQuit()までが繰り返しの範囲となり、VrGetManageNum()がその範囲に含まれることにより、VrGetManageNum()が適切に動作しなくなるため、繰り返しの範囲をVrInit()~VrGetManageNum()までに変更しました。
但し、VrGetManageNum()が使用されていない場合は従来通りの範囲となります。
・明細リピートフィールドでの自動リンク処理がうまく動作しなかったため修正しました。
・明細フィールドが全てマスクされているとき印字されない点を修正しました。
・後ろに空白があるフィールド名をVrsOut()するとエラー(-21)になる点を修正しました。
・多倍精度十進演算のゼロ値比較が誤った結果を返す現象を修正しました。
・クエリ実行で「テーブルが結合されていません」エラーが発生する点を修正しました。
・リンクフィールドの計算ロジックの変更を行ないました。
計算式/編集式からのフィールド値参照は再帰的に処理していたが、子リンクフィールド値の参照に関しては、リンク関係を無視していたため計算順によっては誤った値を取得してしまう可能性があったため、リンク関係も考慮した処理ロジックに改良しました。
・VrAttribute()の不具合を修正しました。
固定フィールドに対して、VrAttribute()を使うと改頁しても設定値がクリアされない点を修正しました。
・VrEndPage() の印字なしステータス(-35)の対応を行ないました。
VrEndPage()にて、-35が返された場合、ページ番号等を変更しないように修正しました。
モード(4 or 5)では、アプリ側に-35を返すことはできないが、モード(0, 1)では、vfreport.propertiesの設定によりアプリに返すことができるので、デフォルトでは返さないように、次のように-35を設定しました。
ReportWriter.IgnoreErrors=-35
・タイミングにより印刷処理が停止してしまうことがあった点を修正しました。
・システム変数_PREV_Pの戻り値が正しく取得できなかった不具合を修正しました。
・文書名をバイトコードに変換する際にエンコーディングを指定しないため、UNIXなどデフォルトエンコーディングがEUCの環境の場合に文書名が正しくDP用のコードに変換されずプリンタ側でエラーになる点を修正しました。
・QRコードのセル幅が8の整数倍の場合に、例外が発生する点を修正しました。
・VrQuit()で返されるファイルサイズが正しく返されない場合がある点を修正しました。
 VrInit()
 VrSetForm()
 VrEndPage() ... 1000バイトのファイル出力
 VrSetForm()
 VrEndPage() ... 0バイトのファイル出力
 VrQuit() ... 0が返されるが、1000が正解。
問題は、上記のようにVrInit()からVrQuit()間で複数のVrSetForm()をしている場合に発生します。
・レコードフィールドでの_NEXT_P変数の対応を行ないました。
※この対応は、_TOTAL_PAGE_COUNTと同様に2回印刷処理を行うことで実現します。
・総ページ数取得機能の修正を行ないました。
_SERIAL_PAGE_COUNTと_TOTAL_PAGE_COUNTを含む帳票を実行した後、_TOTAL_PAGE_COUNTを含まない帳票を実行すると、それ以前の結果が印刷されなくなる点を修正しました。
・ROUND()の結果に誤差が発生するため修正しました。
 UseMPL=false ... 特定の数値と丸め位置により誤差が発生するので内部的に十進演算を使うように変更。
 UseMPL=true ... 丸め位置が±10桁以上になると結果がおかしくなる点を修正。
・VrSetForm(4 or 5)でレコードのない帳票を実行したとき改頁後にデータが初期化されない点を修正しました。
・VrQuit/VrSetPrinter/VrEndDoc/VrOutputQueryの戻り値の補正、2G以上のファイルを作成したとき、今まではビットオーバーフローにより不正な値が返されていたが、2G以上である場合にint型の最大値を返すように改良しました。
・FORMAT/FORMAT2の改良を行ないました。
先頭付加文字と可変位置の符合文字を組み合わせたとき、それらの位置関係 を反映した編集処理ができるように改良しました。
先頭付加文字(,$など)と可変位置設定の符号文字(-,▲)の組み合わせをしたときに、
その位置関係により、先頭付加文字をどの位置に入れるかを指定できるように改良しました。
【▲を可変位置に設定したときの例】
FORMAT(-1234,"▲ZZZZZZ") ... "▲1234"
FORMAT(-1234,"▲ZZZZZZ") ... "▲1234"
※符号文字が固定位置設定になっている場合は、従来と同じ動作。
・様式切換え時に、未出力の連写帳票を出力する様、対応しました。
・PCL5:半角文字のサイズが正しくない場合があった点を修正しました。
様式変更時に、設定に反して両面印刷が解除される点を修正しました。
  PCL5:ボールド文字の太さ・HT4558拡張プロパティを環境設定に表示する様に変更しました。
・PCL5:オーバーレイ中に図形がある場合の不具合に対応しました。
・PCL5:ボールド文字の幅を調整できるよう修正しました。
様式更新時の両面印刷を修正しました。
・PCL5:ソフトフォント使用後通常のフォントが使えなくなる点を修正しました。
・NPDL2:両面印刷での最後のページが表面のみで終わってしまう場合に、印刷されず、プリンタにデータが残ったままになっていたので、表面で終了する場合に、endJob()内でFF(0x0c)を出力するようにして対応しました。
(VrPaperEjectが呼ばれた場合には、偶数ページになるのでFFは出力しない)
・NPDL2:両面印刷後、両面印刷モードの情報がプリンタに残ってしまい、その後、片面印刷(VrSetDuplex未使用)データを出力を行うと、両面で印刷されてしいたので、ソフトウェアリセットを行うタイミングで両面印刷の解除を行うように対応しました。
・NPDL2:両面印刷のモードをC版と同じに変更しました。
・LIPS3:OCRB文字表示後、通常の文字が小さくなる不具合を修正しました。
  LIPS3:LBP3960拡張コマンドプロパティを環境設定に表示する様に変更しました。
・LIPS4:出力する文字データが無い場合は、文字属性の出力をしない様に変更しました。
・LIPS4:ソフトフォントの文字がコードで出力されてしまう点を修正しました。
グレースケールをRGBで描画した場合に、グレイスケールが透過にならずグレースケール上の文字が見えなくなる点を修正しました。
・LIPS4:イメージをベクタモードで印字した場合に透過にならない点を修正しました。
・LIPS4:ボールド文字の太さ・OCR-Bオプションプロパティを環境設定に表示する様に変更しました。
・ART4:複数フォームを使った場合に、イメージ描画・フォームオーバーレイが使えなくなる場合があった点を修正しました。
・ART4:様式切換時に各種属性の初期化がなされておらず、前ページ印刷時に設定された属性を継続していた点を修正しました。
  ART4:ボールド文字の太さ・イタリック文字の傾き・シャドウ文字の幅プロパティを環境設定に表示する様に変更しました。
・ESCP:ソフトフォントが指定されていない場合にエラーとなっていた点を修正しました。
・ESCP:文字ピッチが正しくない場合があった点を修正しました。
・ESCP:クーリエ使用中央割付時の枠線の補正幅が大きくなる点を修正しました。
クーリエを印刷する場合にそれ以前に設定された情報(縦横倍)をクリアしていなかったのでクリアするように修正しました。
  ESC/P:ESC/P-K対応
ESCP.Prameterファイルで設定してた項目を環境設定で設定出来るように変更しました。
設定可能にした項目は、改ページ区分と半角の全角変換の2つです。
・POSTSCRIPT:解像度600DPIの対応をしました。
各オブジェクトの描画座標の補正値を修正しました。
両面印刷の余白の設定値を修正しました。
ビットマップの設定値を修正しました。
・IBM5577:印字調整にマイナスの値を設定すると異常終了していた点を修正しました。
・RPCS:文字列印字(固定ピッチ)の半角カタカナ出力時に固定文字が崩れる点を修正しました。
・VSP:半角文字幅拡大モードプロパティを環境設定に表示する様に変更しました。
・DP300:給紙方法の選択肢に「様式に従う」を追加しました。