25日は年賀状の投函の締切りです。PCに Windows の代わりにOpenSolarisをインストールしたのはいいけれど、年賀状の作成ができなくなったと困られている方は少なくないと思います。昨年のナイトセミナーの3分クッキングで紹介した方法と同様ですが、OpenSolaris 2008.11 上で年賀状の印刷に挑戦してみました。

[ 材料(実際に私が使用した環境) ]

PC : Mouse Computer U100 Note Book

プリンター: キャノン PIXUS MP600

OS: OpenSolaris 2008.11 

ソフトウェア:  OpenOffice.org 3.0 + 日本語環境

年賀はがき: JP のお年玉くじ付きインクジェットはがき(100mm X 148mm)

Windows 用の市販の年賀状作成ソフトなどに比べるとずいぶんと不親切で、見栄えも劣りますが、すべて無料でできるところは有難いものです。

 [ 方法の概要]

OpenOffice.org 3.0 Calc(表計算)を使います、このブログから Calc の年賀テンプレートをダウンロードして使います。テンプレートには 最初のシートが[宛名面] と[文面]に 2番目のシートが、差出人情報も含めた住所録となっています。住所録を最初に作成して、OpenOffice のマクロ機能を使って宛名面を自動的に作成し印刷するといったものです。尚、このブログで提供する、テンプレートやマクロスクリプトは、StarSuite や他のOS 上の OpenOffice 上でも共有できます。年賀はがき以外にも応用できると思いますが、StarSuite や OpenOffice を使い馴れてない方には、多少難しいかもしれません。トラブルには対応できませんので実際に試される場合は十分に留意してください。

[ 仕込み ]

一番の難点は、OpenSolaris でどうやってインクジェットプリンターのはがき印刷やカラー印刷の設定をするかですが、この設定は過去の記事、「3分レシピ プリンター編」を参考にしてください。

lxzone 側に設定した canon_back の印刷設定を、CUPS の "Printer Configure" 画面のGeneral の箇所を下記図のように設定しておきます。

opensolaris# ssh -X lxzone /usr/bin/mozilla http://localhost:631/

cups image

注意: Canon MP600 では、両面印刷 (Duplex) も指定可能ですが、JP のインクジェットはがきは多少固くて、両面印刷すると、紙詰まりをよく起こします。私の場合、宛名面と文面の自動両面印刷はあきらめて、文面(写真や文章)を先に必要枚数印刷しておいて、あとから宛名面だけ今回の方法で片面印刷しました。


[ 作り方 ]

まず OpenOffice をインストールしてない場合には、opensolaris.org のリポジトリからダウンロードします。パッケージマネージャをつかって "openoffice" と "openoffice-ja" を選択してインストールするか、端末エミュレータからだと以下を実行します。

$ pfexec pkg install openoffice openoffice-ja

OpenOffice が日本語環境で使えることを確認できたら、私が作成したサンプルテンプレート nenga_sample.ods をダウンロードして保存します。またサンプルのマクロのテキストファイルnenga_macro.txt も同様にダウンロードして保存します。

少し複雑ですが、宛名自動印刷までの方法を順を追って説明します。

まず、サンプルファイルを、OpenOffice.org 3.0 Calc で開きます。サンプルの最初のページ(年賀状シート)には、私の名前や住所が書いてありますが、これは無視してください。年賀状の宛名面で書き込める内容は、

宛先の郵便番号7桁

宛先の住所

宛先の会社名/部署名(省略可)

宛先の氏名

差出人の郵便番号(省略可)

差出人の住所(省略可)

差出人の氏名(省略可)

差出人の会社名/部署名(省略可)

差出人のその他情報(省略可) 

*省略可とあるところは、住所録に何も書かないと印刷されないということです。

つづいて2ページ目(住所録シート)の内容は

左からリストの番号、郵便番号、氏名、会社名/部署名、住所、その他となっています。

リストの番号 0 の行には、差出人(つまり自分)の情報を記入します。省略したい場合は空白にしておきます

リスト番号1から宛先の住所録になります。 

リスト番号の後の7桁に郵便番号を1桁づつ記入します。郵便番号、氏名、住所は必須で、あと省略可能です。また氏名には敬称(様)なども記入します。

OpenOffice 3.0 で、日本語フォントは IPA ゴシックか IPA 明朝しか使えないため、サンプルではIPA Pゴシックと横書きに設定してあります。年賀状画面の各セルの書式設定で、これらは変更可能です。(ちなみに昨年のセミナーのデモでは StarSuite 8を使ったためフォントの種類も多く、縦書きに設定してました)、住所などは2行にわたることもあるため、フォントのサイズや配置設定には注意してください。

差出人情報も含め、2ー3件データを入力したところで、マクロの実行のための設定をします。

Calc の画面から、ツール -> マクロ -> ダイアログの管理 でBasic マクロの管理画面を開きます。  

Basic マクロ の管理画面で、モジュール タブを選択し、マイマクロ -> Standard の下で、新規作成ボタンを押します。新規モジュールとして "Nenga"を作成します。

新規モジュール、 "Nenga"を作成したら、編集ボタンを押します。編集画面では、あらかじめ保存しておいた、nenga_macro.txtをテキストエディタ(gedit)で開き、この内容を全てカット&ペースでマクロの編集画面に追加します。追加したら、編集画面のファイル->保存で、保存します。

Nenga_PrintToPDF と Nenga_PrintToPrinter という2つのマクロが登録されたら成功です。

 ここまでで、必要な設定は終わりです。では実際に Basicマクロを実行して宛名面作成を行います。文面作成については説明を省略します。私の場合は文面は Calc では作成せず、Draw(図形描画) をつかって、写真や文章を作成し、サイズを 100mm x 148mm 内に収まるように編集した図形を Calc の方にコピー&ペーストで貼り付けただけです。

では、宛名印刷までの手順を説明します。住所録から宛名印刷する方法は2通りあります。Nenga_PrintToPDF は、直接印刷までは行わず、指定したディレクトリに、宛名面の PDF ファイルを作成します。ファイル名はリスト番号.pdf (例、1.pdf 2.pdf 3.pdf ...) で作成します。 Nenga_PrintToPrinter は、宛名をプリンターのハガキに直接印刷します。

OpenSolaris 上の OpenOffice を使って、直接プリンターに印刷することはできませんでした。これは、OpenOffice の印刷設定で、用紙の設定にハガキサイズを選べないためです。(設定の方法がわかれば可能だと思います)、例えば、Windows 上の OpenOffice や StarSuite だと、プリンター設定の機能に連動して、はがきサイズの設定が可能ですので、この場合は、Nenga_PrintToPrinter が可能です。

 OpenSolaris 上では、一旦  PDF に変換し、PDF ビューワー Evince から印刷します。

Evince では、ファイル -> 印刷設定 .. -> 用紙のサイズ で、ページ設定の画面から、「その他の用紙サイズ ...」でハガキサイズを追加設定が可能です。私の場合、hagaki (100mmx148mm) という用紙サイズを設定しました。

前置きが長くなりましたが、Basicマクロを実行します。まずマクロ実行前に、マクロを編集します。

Calc 画面の、ツール -> マクロ ->  マクロの管理 -> OpenOffice.org Basic を選択し、追加したマクロ Standard-> Nenga -> Nenga_PrintToPDF の編集画面に移ります。

マクロテキストの冒頭の方に、Nenga Printing Pre-Setting というところがあり、そこの下記3行を編集します。

start_low =  <-- 住所録の宛名印刷を開始するリスト番号

end_low =  <-- 住所録の宛名印刷を終了するリスト番号

pdf_data_path = <-- PDF を保管するディレクトリを指定

例えば、リスト番号 1-5 を作成するには、1 から 5 を数字で指定します。テストのため、リスト番号1だけを作成するには、1  から 1 で指定します。

 この編集が終わったら、必ず、ファイル-> 保存で、マクロを保存します

マクロ実行前の注意事項:このマクロは非常に単純なもので、宛名面のシートに、住所録シートから読み込んだデータを書くだけです。したがってマクロ実行時は、必ず宛名面のシートを表示させた状態で行ってください。間違って住所録シート上で実行してしまうと、住所録シート上にデータを書いてしまいます。(間違って実行した場合にはシートを保存せずに終了してやり直してください)

マクロの実行方法は以下の通りです。

 ツール -> マクロ -> マクロを実行


Standard-> Nenga -> Nenga_PrintToPDF を選択して実行します。


あとは、作成された PDF ファイルを Evince で開き、印刷時の用紙設定に hagaki を指定して印刷すれば出来上がりです。

 Basic マクロの利用に馴れてない方には、多少複雑かもしれません、もっとスマートで優しい方法もあるとは思うのですが、まだまだ勉強不足でして、許してください。

訂正とお詫び: 12月22日に投函した nenga_macro.txt に一部記述ミスがありました、 Nenga_PrintToPDF マクロを実行すると I/O エラーになります。

 402 行目

filepointer = data_path + FileName.String + ".pdf"

正しくは

filepointer = pdf_data_path + FileName.String + ".pdf"

です。再ダウンロードするか直接訂正をお願いします。 (12/23)

[ 年賀状印刷 終わり]


投稿されたコメント:

コメント
  • HTML文法 不許可

This blog copyright 2010 by hara