CPYSPLF コマンドによる PDF 化 【はじめに】 IBM i が多く用いられる基幹業務では、印刷業務は多く使われていることは皆さんご承知のとおりだと 思います。最近の Web 化やモバイル化の普及やペーパレス化により、印刷業務の形態も大きく変わっ てきています。IBM i でも PDF 化の機能を IBM i 6.1 よりサポートしています。 [参考]インターネット・セミナー アプリケーション Web 化時の印刷方法の検討 http://www.ibm.com/systems/jp/power/software/i/seminar/pdf/iseminar_howtoprint-webapp.pdf さらに IBM i 7.2、IBM i 7.1 (PTF)では、CPYSPLF コマンドが拡張され、スプール・ファイルを PDF 化 することが可能になっています。これにより、既存のスプール・ファイルを PDF 化することが可能になる ので、PDF 作成時に都度印刷プログラムを稼動させるような手間を省くことができます。 当文書では、CPYSPLF コマンドによる PDF 化をご紹介します。 【CPYSPLF コマンドの拡張】 CPYSPLF コマンドでは元々データベース・ファイルにスプール・ファイルをコピーすることが可能でした が、今回 TO データベース・ファイル (TOFILE) パラメーターに*TOSTMF を指定することにより、IFS へテキスト・データ、もしくは PDF としてコピーを行うことができるようになっております。 【前提条件】 z IBM i 7.2 / IBM i 7.1 (PTF SI43471) z IBM TRANSFORM SERVICES FOR I (5770-TS1 *BASE) (無償) z 変換-AFP から PDF への変換 (5770-TS1 Option1) (無償) 多様な日本語フォントを使用する場合、以下のようなフォントが必要です。 z ADVANCED FUNCTION PRINTING DBCS FONTS/400(5769-FN1) (有償) z AFP DBCS FONTS – JAPANESE(5769-FN1) (有償) IBM i 7.1 に必要な PTF に関しては、以下の情報(英語)を参照してください。 OSP-PRT ENHANCEMENTS TO CPYSPLF COMMAND http://www-912.ibm.com/n_dir/nas4apar.nsf/ALLAPARS/SE47834 SI43471 http://www-912.ibm.com/a_dir/as4ptf.nsf/ALLPTFS/SI43471 【指定例】 PDF 化を行う場合には、CPYSPLF コマンドで以下のような指定を行います。 CPYSPLF FILE(PDFTEST) TOFILE(*TOSTMF) SPLNBR(*LAST) TOSTMF('/home/PDF/pdftest.pdf') WSCST(*PDF) STMFOPT(*REPLACE) FILE スプール・ファイル名を指定します。 TOFILE *TOSTMF を指定します。 TOSTMF PDF ファイルを配置する IFS 上の場所を指定します。 WSCST PDF への変換を行う場合には、*PDF を指定します。 STMFOPT すでに同じ名前のストリーム・ファイル(ここでは PDF ファイル)存在した場合の処置を指定します。 *REPLACE を指定した場合には、ストリーム・ファイルは置き換えられます。 *NONE を指定した場合には、コマンドは失敗します。 【サンプル】 ここでは APW と組み合わせた PDF 化の例をご紹介します。 得意先マスターを印刷するプログラムに外枠を APW で付加したものを PDF 化したものになります。 CL プログラム PGM MONMSG MSGID(CPF0000) CALL PGM(TEST/BCH110) MRGAPW FORMD(APWTEST) FILE(APWLIB/APWOBJ) + SPLF(QPRINT) DEVTYPE(*AFPDS) CPYSPLF FILE(APWTEST) TOFILE(*TOSTMF) SPLNBR(*LAST) + TOSTMF('/home/test/apwtest4.pdf') + WSCST(*PDF) STMFOPT(*REPLACE) ENDPGM APW 定義 DRAW(3 3 1 4 129) DRAW(2 5 1 60 129) APW フォームの作成 CRTAPW FORMD(APWTEST) FILE(APWLIB/APWOBJ) SRCFILE(TEST/QTXTSRC) 作成された PDF あまり体裁はよくありませんが、一応表形式の印刷出力を PDF へ変換、表示することができました。 文字の検索もできます。 【まとめ】 今回は OS 標準機能と無償のライセンス・プログラムによる CPYSPLF コマンドを使用した PDF 化の 例をご紹介させていただきました。 既存の帳票の PDF 化や APW の PDF 化に適用可能な機能だと思いますので、要件に合わせてご利 用してみてはいかがでしょうか?
© Copyright 2024 ExpyDoc