宛名印刷
2016/01/19
郵便枠に合わせる インデザインスクリプト
管理者用
宛名印刷用のデータは、インデザインを使用して、VBスクリプトで自動組版を行っています。
結果は、PDFファイルで出力して、印刷にまわします。
ここで、大きな問題にぶつかるのです。
郵便枠に7ケタの郵便コードが真ん中に入れようと作成したはずが、プリンターによって、印刷位置が微妙に違うのです。
また、プリンターによっては、ドラーバーで、印刷位置をずらす事の出来る物があるので、対応出来ます。しかし、出来ないプリンターも多いのです。
そんな時に、使っている簡単なスクリプトを紹介します。
インデザインスクリプトパネルに登録して実行します。
全ページのフレームに対し、適応します。
また、開かれているドキメントに対して実行されます。
3行~4行の prompt で移動する距離を取得します。実行結果に示すように、スクリプトプロンプトが行事され、入力した数字を移動距離とします。
6行目 ページ数を取得します。
8行目の for ループで全ページ処理を行います。
10行の for ループで処理ページに含まれるテキストフレーム数を全て実行します
// moji_go_to.jsx 全ページのテキストフレームをずらす mov_mm_x= prompt("移動 X方向 mm ","0") mov_mm_y = prompt("移動 Y方向 mm ","0") pageObj = app.activeDocument.pages; for( i=0; i < pageObj.length; i++ ) { for(j=0; j < pageObj[i].textFrames.length; j++) { pageObj[i].textFrames[j].move("by",[mov_mm_x,mov_mm_y]) } }
実行結果
ところで、挨拶状の封筒などに印刷されている郵便枠の位置って、結構ばらついているのです。
このばらつきにも、対応するためには、プリンターの印刷位置の違いに合わせて調整する必要があります。