始めの言葉

「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。

2019年3月31日日曜日

4月1日より Mapping Japan 株式会社が始動します。

4月1日より Mapping Japan 株式会社が始動します。
Mapping Japan (マッピング・ジャパン) 株式会社は、次の 2 本柱を活動の中心として活動を開始します。
1. 統合印刷ソリューション "Mapping Suite" の営業活動と保守サポート
2. AS/400 を中心としたシステムからの印刷に関わるサポートやコンサルティング

まだ、様々な手続き中なので、ホームページや活動の詳細はこれから徐々にお話ししていきます。
自ら変化するものだけが生き残るという言葉に背中を押されるようにして、これから新しい世界を始めます。

2019年3月24日日曜日

ROBOTを使った処理の自動化 - 6 - 印刷後の PDF ファイルの削除

前回まで、PDF ファイルの加工についてお話ししてきましたが、生成された PDF ファイルを MAPIFS2PRT コマンドを使用して印刷した後のことを考えてみます。
再印刷を考慮する必要がある場合には、PDF ファイルを PC 上で開いて開始ページを指定した上で、プリンター・ドライバーを使って印刷するという方法が考えられます。
その場合でも、その後、PDF ファイルをファイル・サーバーに転送するか削除して、AS/400 のハードディスクを圧迫しないようにする対策が必要になります。
ここでは、再印刷が必要な場合には、再度 PDF 生成から再開するため PDF ファイルを保存する必要がないケースを想定しています。そのため、印刷後はすぐに PDF ファイルを削除する処理を自動的に行うよう、ROBOT を設定します。

1. いつもの BAYTOP 書房の見積書のスプール (DEMO1 という固定名)が、DEMOOUT という OUTQ に解放されると、MVP という OUTQ に繋がったプリンターに印刷されるものとします。Mapping メニューの中の "4.入力/出力の出力待ち行列の関連定義" を次の画面のように定義します。
4.入力/出力の出力待ち行列の関連定義
2. "3.スプール・ファイルとアクション間の関連定義" を次のように定義します。ここでは、対象となるスプール・ファイルの名前が "DEMO1" で固定であることが前提としています。また、アクションの名前を "PRINTDEL" としました。
3.スプール・ファイルとアクション間の関連定義
3. "PRINTDEL" というアクションの定義を、"2.アクションの処理" で行います。先ずは、次のコマンドを定義して、PDF ファイルの生成を行います。ここでは、PDF ファイルのファイル名と保存先のフォルダー名が自動的に決まるように、次のように定義します。
- PDF ファイル名 : スプール・ファイル名 + スプール番号 (上書きを防ぐためにスプール番号を付けています。)
- フォルダー名 : 出力先のプリンターの OUTQ 名
具体的には、次のように定義しています。
MAPCPYSPLF SPLF(&SPLF) SPLNUM(&SPLNUM) JOB(&JOB) JOBNUM(&JOBNUM) USER(&USER) MAPNAM(BAYTOP) MAPSEQ(*MRG) TYPLAN(*XPS) XPSCONVERT('*PDF') XPSOUTFILE('/map34806/mapping/&OUTDES/&SPLF&SPLNUM.pdf') CP(1027)
アクションの定義 -1
4. この段階で、ROBOT を起動し、スプール・ファイル "DEMO1" を保留 -> 解放すると、次の画面のように、"DEMO1     1.pdf" という名前の PDF ファイルが "MVP" というフォルダーの下に生成されたことを確認できます。
フォルダー "MVP" に PDF ファイルが生成された
5. 次に、4. で生成された PDF ファイルを印刷するためのコマンドを、次のように、アクションに追加します。
MAPIFS2PRT FILE('/map34806/mapping/&OUTDES/&SPLF&SPLNUM.pdf') SPLF(&SPLF) OUTQ(&LIBDES/&OUTDES)
アクションの定義 -2
6. この段階で、ROBOT を起動し、スプール・ファイル "DEMO1" を保留 -> 解放すると、次の画面のように、"MVP" という OUTQ の中に "DEMO1" というスプール、すなわち印刷データが投入されたことを確認できます。
MVP という OUTQ に印刷データが投入された
7. 次に、生成された PDF ファイルを削除するコマンドを、アクションに追加します。
DEL OBJLNK('map34806/mapping/&OUTDES/&SPLF&SPLNUM.pdf')
アクションの定義 -3
8. ROBOT を起動し、スプール・ファイル "DEMO1" を保留 -> 解放すると、次の画面のように、"MVP" というフォルダーの中には PDF ファイルが残っていないことを確認できます。
PDF ファイルが削除されて、空になった MVP フォルダー




 

2019年3月16日土曜日

XPS 形式の中間ファイルを使った PDF の加工 第 5 回

今回は、ファイルの結合です。
(参考までに、PC の世界では、COPY コマンドを使用して複数のファイルを結合して 1 つのファイルを作成することが可能です。)
Mapping V7 では、PDF ファイルのまま結合することはできないのですが、XPS ファイルを結合して、最後に結合した XPS ファイルを PDF ファイルに変換することが可能です。
コマンドとしては、次のような指定方法になっています。
1. 3 つのファイルを 1 度に結合して、1 つの "fainal.xps" ファイルを生成する場合
map_xps -outfile:/tmp/final.xps -add:/tmp/test1.xps -add:/tmp/test2.xps –
add:/tmp/test3.xps
2. 結合する対象の XPS ファイルの数が分からない場合には、次のように何度かに分けて結合します。つまり、"final.xps" に対して、1 つずつ結合していくという考え方です。
map_xps -tempfile:/tmp/final.xps -add:/tmp/test1.xps
map_xps -tempfile:/tmp/final.xps -add:/tmp/test2.xps
map_xps -tempfile:/tmp/final.xps -add:/tmp/test3.xps

では、実際に結合してみましょう。
今までお馴染みの "BAYTOP.xps" ファイルに、Mapping のマニュアル (PDF ファイル) の1 ページから作った XPS ファイルを結合します。
1. PDF ファイルを "Acrobat Reader DC" で開いて、"ファイル"->"印刷" を選択します。印刷指定画面で、"プリンター" には "Microsoft XPS Document Writer" を指定します。
ページサイズ処理は "実際のサイズ" を選択して、更にここでは "印刷するページ" は、"現在のページ"(1ページ)を指定してから、"印刷" ボタンを押します。
Acrobat Reader の印刷指定ページ
次のような画面が表示されますので、"ファイルの種類" を "XPS ドキュメント" に変更してファイル名(英数文字で指定してください)を指定して "保存" ボタンを押します。
XPS ファイルとして保存する
2. 5250 端末画面で、"CALL MAP_XPS" と入力して、F4 キーを押します。
CALL MAP_XPS と入力して F4 キーを押します。
3. 画面のように、次の通りパラメーターを入力して実行キーを押します。
'-outfile:/map34806/mapping/test/Concatenate.xps' <- Concatenate.xps ファイルを作成します。
'-add:/map34806/mapping/test/BAYTOP.xps' <- BAYTOP.xps ファイルを元に結合します。
'-add:/map34806/mapping/test/XPSmanual.xps' <- PDF ファイルから作成した XPS ファイルを結合します。
CALL MAP_XPS とパラメーター
4. この結果、6 ページの "BAYTOP.xps" ファイルに対して、1 ページの "XPSmanual.xps" を結合して、7 ページの "Concatenate.xps" ファイルが生成されました。
5. 次にもう 1 回、MAP_XPS プログラムを使用して、"XPSmanual.xps" を "XPSmanual.pdf"ファイルに変換します。
XPS ファイルから PDF ファイルへの変換
6. 生成された PDF ファイルを Acrobat Reader で開くと、次のように最終ページがマニュアルの 1 ページとなった 7 ページの PDF ファイルが生成されたことが分かります。

7 ページ目にマニュアルの 1 ページが結合された PDF ファイル
この時、初めに PDF ファイルから生成された XPS ファイルで使用されているフォントは、そのフォント・ファイルが、IFS 上の "mapping" フォルダーの下にある "ttf" フォルダー内にあうことが必要です。
7. 試しに、結合する XPS ファイルの順序を逆にしてみましょう。
結合する XPS ファイルの順序を逆に指定する
8. 生成された "Concatenate2.xps" ファイルを更に PDF ファイルに変換した結果は、次のとおりです。予想通り、1 ページ目がマニュアルのページになっています。
1 ページ目がマニュアルとなった PDF ファイル

2019年3月10日日曜日

XPS 形式の中間ファイルを使った PDF の加工 第 4 回

今回は、PDF ファイルからの加工ではなく、XPS ファイルを PDF ファイル以外の形式に変換する 2 つの例をお話しします。
1 つ目は、DOCX 形式への変換です。変換のためのコマンドは、次の画面のように簡単なものです。
XPS ファイルを DOCX ファイルに変換する
ここでは、BAYTOP.xps ファイルを BAYTOP.docx に変換しています。変換された DOCXファイルを、Word を使って開いてみると、次のように表示されました。
DOCX ファイルを Word で開いた画面-1
DOCX ファイルを Word で開いた画面-2
下の画面でお分かりのように、バーコードや罫線も含めて、Word で正しく表示できる DOCX 形式のファイルに変換されたことが分かります。なお、変換元の BAYTOP.xps ファイルは、そのまま残っています。

2 つ目は、HTML 形式への変換です。コマンドは次の通りです。
XPS ファイルを HTML ファイルに変換する
 生成されたファイルをブラウザー(ここでは、FireFox を使っています。)で開くと、次のようになります。
HTML ファイルを FireFox で開いた画面-1
HTML ファイルを FireFox で開いた画面-2
文字やバーコードは正しく表示できていますが、罫線が表示できていない箇所が多いようです。これは、今後の改善に期待したいと思います。なお、画面上のイメージの要素が、JPG 形式のファイルとして、HTML ファイルと並んで生成されていることが、次のエクスプローラーの画面で分かります。
生成された HTML ファイルと JPG ファイル
イメージ・ファイルになっているのは、ロゴ、バーコード 、印影です。




2019年3月3日日曜日

XPS 形式の中間ファイルを使った PDF の加工 第 3 回

今回は、用紙サイズを変更する方法をお話しします。
用紙サイズは本来 MapDraw を使用して帳票設計を始める際に決めているものですが、ここでは、帳票設計時の用紙サイズ XPS ファイルを生成した後で、用紙サイズを変更します。
用紙サイズの変更に当たっては、map_xps に 3 種類の異なったパラメーターが用意されていて、それぞれの変更法は次のとおりです。
-paper:XXX <- 内容に変えずに、用紙(ページ)サイズのみを変更します。
-scale:XXX <- 用紙サイズを変えずに、ページの内容のサイズを変更します。
-changeformat:XXX <- 内容も含めて、用紙全体のサイズを変更します。(縦横の比率を維持します。つまり、通常の拡大縮小を行います。)

また、使用可能な用紙サイズの値は次のとおりです。: AUTO, EXECUTIVE, LETTER, LEGAL, LEDGER, A4, A3, A2, A1, A0, MONARCH, COM10, DL, CS, B5
規格外のサイズの指定も可能で、その方法は、次のとおりです。
-changeformat:xx.xx,xx.xx[,cm|in|mm]
- 2 つの小数は、幅と高さです。
- 小数の区切りは、‘.’ (ドット)です。
- 値同士の区切りは‘,’(カンマ) か ‘;’ (セミ・コロン)です。
- 単位はオプションです。: cm (デフォルト), mm または in(インチ)

1. 用紙サイズのみを変更します。
いつものベイトップ書房の見積書の xps ファイルに対して、次のように用紙サイズのみを "A3" サイズに変更します。
-paper:A3 を指定する
その結果、生成された xps ファイルを XPS ビューアーで開くと次のように、内容は A4 サイズのままで、A3 サイズに変わっていることが分かります。
生成された XPS ファイルの表示
2. 用紙サイズは変えずに、内容のみサイズを変更します。
用紙サイズは A4 のままで、内容のみ縦横それぞれ 50% 縮小します。指定方法は次のとおりです。
内容のみ縦横 50% 縮小の設定
その結果、生成された xps ファイルは、次のように、用紙サイズは A4 サイズのままで、内容が縦横 50% に縮小されていることが分かります。
内容のみを縦横 50% に縮小
3. 内容も含めて全体を A3 サイズに拡大します。
指定方法は、次のとおりです。
全体を A3 サイズに拡大
生成された XPS ファイルを XPS ビューアーで開いても、A3 サイズになったか分かり辛いので、次のように PDF ファイルに変換します。
PDF ファイルに変換
生成された PDF ファイルのプロパティを見ると、次の画面のように、"ページ・サイズ" が、297x420mm つまり A3 サイズとなっていることが確認できました。
A3=297x420mm サイズになっていることの確認