Linux で年賀状印刷

(Epson PM-A870 と、Vine Linux 3.0 on OOo1.1.3)


Draft1 : 2004-11-22  -- H.Suzuki : setter at i-red dot info
Draft2 : 2008-02-13  OOo2.3.0 on Vine Linux 4.2 の記述を追加。


BACK


自分でやったことの覚え書き程度ですので、責任は持てません。
また、宛名印刷は、oooug.jp の宛名印刷(縦書)を元にしています(感謝)。

追記:OOo2.3.0(OOo3.0.0) on Vine Linux 4.2 で宛名印刷をする。

使用環境:
・ OS :KDE-3.3.1 /  Vine Linux 3.0
・ プリンタ: PM-A870  (All in One) + カードメモリ
・ 宛名 : OpenOffice.org 1.1.3 (Vine に入っている1.1.2では辛かったので)
・ 裏面 : Gimp 2.0.x (画像作成のみ)
・ スキャナ: PM-A870 (iscan-1.11.0 の Vine3.0用 RPM(非公式)は、ここ)
・ 印刷には、CUPS/kprinter を使っています。
   kprinter を使うと、印刷時に解像度などが調整できて便利です。

0.iscan(スキャナプログラム) と、pipsa870(プリンタドライバ) のインストール。
    スキャンは、iscan を使わなくても、PM-A870 単体でもできます。
   
上記 RPM をインストールするか、
    Epkowa さんのサイトから、tarballを持ってきて展開後、

    $ ./configure --prefix=/usr --sysconfdir=/etc
    $ make
    # make install

    でおわり。
    pipsa870 は、
Epkowa さんのサイトから、RPMを持ってきてインストールします。
    自分でコンパイルするなら、gcc-3.x ではコンパイル できないので、

    # apt-get install gcc295

    で、gcc295 と、gcc295-cppをインストール後に、
    tarballを持ってきて展開後、

    $ ./configure
CC=/usr/bin/gcc-2.95.3 --prefix=/usr --sysconfdir=/etc
    $ make
    # make install

    でいけるはずです。
    たりないパッケージがある場合、そのつどインストールしてください。


    その他インストール方法は、それぞれのインストール方法を確認してください。
    注意する点は、/etc/ekpdrc に書かれている プリンタ名と、
    cups 上で登録されているプリンタ名が同じになっている必要がありそうです。
    ekpdrc を設定したくない場合、CUPS上のプリンタ名は、"pma870" にします。


1.裏面の作成
    裏面の印刷は、Gimpで作成した画像を、jpeg 形式で PM-A870 のメモリに送り込み、PM-A870 単独で印刷します。
    PM-A870に挿したメモリカードは、usbメモリ(/dev/sda1)として Vine から参照できます。
    元ネタは、PM-A870 + スキャナプログラム iscan-1.11.0 を使用。
    画像を保存するディレクトリとファイル名は法則が決まっているようなのですが、
    私の場合、/mnt/usb/epscan/001/epson001.jpg の様な名前で保存しました。
    gimp からも PostScript Level2 + kprinter で印刷できますが、余白制御(特にふち無し印刷)が難しそうなのでやめました。

    ふち無し印刷したいので 画像サイズは、1275x1868 とします(1200x1600をベースにしたと思いますが、特に意味のある大きさではありません)。
    この画像サイズのとき、実際印刷に使われるのは、(X=28:Y=50)-(X=1225:Y=1828)位の範囲で、後は紙の外になってしまいます。

2.宛名の印刷
    OOo1.1.3 を使用。Vinelinux の OOo は、kprinterを使えないようなので、Vine の OOo は、apt-get remove して、
    新たに、oooug.jp からダウンロードしたものを setup -net しました。
   
    OOo インストール後、

    # vi /opt/OpenOffice.org1.1.3/share/psprint/driver/SGENPRT.PS

    で A6 の設定を、以下のようにしてしまいます。

---------------------------------------------------------
diff SGENPRT.PS.BKUP SGENPRT.PS
144c144
< *PageSize A6: "<</PageSize [297 420] /ImagingBBox null>> setpagedevice"
---
> *PageSize A6: "<</PageSize [283 420] /ImagingBBox null>> setpagedevice"
182c182
<  dup [297 420] (A6) put
---
>  dup [283 420] (A6) put
227c227
< *PageRegion A6: "<</PageSize [297 420] /ImagingBBox null>> setpagedevice"
---
> *PageRegion A6: "<</PageSize [283 420] /ImagingBBox null>> setpagedevice"
262c262
< *ImageableArea A6: "18 18 279 402"
---
> *ImageableArea A6: "18 18 265 402"
296c296
< *PaperDimension A6: "297 420"
---
> *PaperDimension A6: "283 420"
---------------------------------------------------------

    次に、
    ~/OpenOffice.org1.1.3/spadmin を起動し、Generic Printer のプロパティで、コマンドを、 kprinter --stdin に変更します。
    そのままだと、OOo から kprinter の呼出に失敗してしまうようですが、

    # ln -s /lib/libgcc_s-3.3.2.so.1 /usr/lib/libgcc_s.so.1

    のようにすれば良いようです。

    宛名情報(Calc)と、レイアウト(Writer)は、 これ(1)と、これ(2)を使います。Writer(2)を開き、Calc(2) のファイルをデータソースとして指定します。
    また、レイアウトで使用しているフォントは適当なものに変更してください。
    これらファイルの使いかたは、oooug.jp の方をみていただいた方が良いと思います (^^;;

これで、なんとか Win から開放される。

#####################################################################################################################
追記:OOo2.3.0(OOo3.0.0でも使えました) on Vine Linux 4.2
#####################################################################################################################

### 下準備 ###
0.適当(これから使う)なディレクトリを作成し、
  writer_sasikomi_tate1.sxw(
これ) と、
  Sashikomi2005.sxc(
これ)を保存します。
1.Ooo2.3 で、writer_sasikomi_tate1.sxw を開き、"OpenDocument のテキスト(.odt)" で別名保存する。
  フォントなどは、適当に調整してください。
2.同様に Sashikomi2005.sxc を開き、"OpenDocument の表計算ドキュメント(.ods)" で別名保存する。

### データソースの作成(仮)###
0.
writer_sasikomi_tate1.odt を開きます。
1.メニューの[ツール]->[差し込み印刷ウィザード]を開く。
2.[次へ(N)>>]ボタンを2回クリックし、さらに、[アドレスリストの選択(D)]ボタンをクリック。
3.[追加]ボタンをクリックし、Sashikomi2005.ods を選択し[開く]ボタンで追加します。
4.アドレスリストの選択に戻るので、[OK]ボタンをクリック。
5.差し込み印刷ウィザードに戻ったら、[キャンセル]ボタンをクリック。

### データソースの作成 ###
1.[F4]キーまたは、メニューの[表示]->[データソース] でデータソースを表示する。
2.表示されたデータソースの左側の枠上の Sashikomi2005 の上で
  右クリック->[データベースファイルを編集]でダイアログを開く。
3.Ooo2.3 Base の画面が開いたら、メニュー[ファイル]->[名前を付けて保存]で、
  下準備で作ったディレクトリに保存します。
  クエリ(条件抽出)などを使いたい人は、ここで作成します。
  クエリに必要なフィールドは、あらかじめ、Sashikomi2005.ods に追加しておくと良いでしょう。
4.とりあえず Base の画面は、閉じてしまいます。
5.表示されたデータソースの左側の枠上で、右クリック->[登録されたデータベース] でダイアログを開く。
6.仮に作成された Sashikomi2005 がありますので、選択して、[削除]ボタンで消してしまいます。
7.[新規作成]ボタンをクリックし、[検索] ボタンでファイル選択画面から、
  3.で別名保存した、Sashikomi20050.odb を選択し[開く]ボタンをクリックします。
  さらに、[OK]ボタンをクリックします。
8.登録されたデータベース画面に戻ると、Sashikomi20050 が追加されているのを確認したら、
  [OK]ボタンをクリックします。
9.[F4] キーまたはメニューの[表示]->[データソース]で、データソースの表示を止めます。

### データソースをリンクする ###
1.メニューの[編集]->[データベースの交換]でダイアログを開く。
2.使用できるデータベースの中から Sashikomi20050 をダブルクリックし、
  表1(またはクエリを作った人はそのクエリ)を選択したら、[指定]ボタンでダイアログを閉じる。
3.ここで、いったん保存しましょう。(ここで保存したもの(
writer_sasikomi_tate1.odt)がマスターです)

...もう一息。

### 印刷 ###
1.メニューの[ツール]->[差し込み印刷ウィザード]を開く。
2."8.保存、印刷、または送信" まで、[次へ(N)>>]ボタンをクリックしつづけます。
3.オプションから、"結合ドキュメントを印刷" を選択し、プリンタのプロパティを調整します。
4.[ドキュメントの印刷] ボタンをクリックすることで印刷されるはずです。

次回からは、
必要に応じて
Sashikomi2005.ods を開いて宛先を編集し、

writer_sasikomi_tate1.odt を開いて、

### 印刷 ### の内容を実行するだけです。

簡単でしょ(^^)

# OOo には、ちょっと日本語が変なダイアログがありますが、それは、ご愛嬌ということで(^^)