オキニ報告

気になった物を紹介していきます

年賀状100人分を3時間で作成した話

昨年まで,年賀状は手書きで作っていました.送る相手も20人しかおらず,作業は1日もあれば十分でした.

しかし,今年は交友関係の広がりとともに送る相手が100人になり…

にもかかわらず,今までの調子で12月22日まで全く準備をせずに過ごしてしまい…

このままじゃまずいと思い,重い腰をあげて,12月23日の午後9時から午後12時の3時間をかけて,年賀状100人分を作成いたしました.

手っ取り早く年賀状をつくりたいなら,年賀状作成ソフトを使えばいいと思うのですが,そういったソフトに支出をしたくなかったので,久しぶりにTeXを使って作成しました.

今回は,ibenzaさんの記事を大変参考にさせていただきました.ibenzaさん,ありがとう!

folioscope.hatenablog.jp

はがきの文面をデザインする(30分)

年賀状のデザインに強いこだわりはないのですが,以下の2つは取り入れたいなと.

  1. 自分で撮影した写真
  2. 干支(申)のイラスト

イラスト素材は,「年賀状,テンプレート」等のキーワードを検索すれば入手可能.イラストと写真の編集には,Adobe IllustratorAdobe Photoshopを使いました.

  1. 年賀状のサイズを調べるのが面倒なので,kinko'sのサイトにあったテンプレートをダウンロードして,aiファイルをIllustratorで開くwww.kinkos.co.jp
  2. Googleで見つけた申のイラスト(png形式)をIllustratorで開き,ちょこちょこと加工
  3. 写真をPhotoshopで切り抜く(ふんわりと切り抜きたいので,辺縁はぼかす)
  4. 全ての素材をkinko'sのテンプレに貼り付けて,文章を好みのフォントで入力

ここまでで30分経過.間に合うか?

宛名面100人分をpdfに出力する(40分)

送付先のリストはもともとcsvファイルで管理していました.僕の希望は,このファイルをもとになるべく手間をかけずに宛名面を作成すること.

となるとTeXを使うしかありません!*1

そこで,たどり着いたのがibenzaさんのサイトでした.それ以外にもTeXで年賀状を作成している方はいましたが,ibenzaさん作のjletteraddress.clsが見やすくて,これなら仮にトラブルが起きても独力で対処可能かなと思いまして…

最終的にトラブルはなかったのですが,年賀状の送り主を夫婦連名にしたかったので,jletteraddress.clsを以下のように一部改変し使用しました.

%% buffer macros
\def\sendername#1{\gdef\@sendername{#1}}
%% 連名を可能にするため以下を挿入
\def\sendernameb#1{\gdef\@sendernameb{#1}}

sendernamebを新規に作成.

\put(10,85){\kanjiskip=0.3zw\fontsize{15pt}{0pt}\selectfont%
\parbox<t>[t]{55truemm}{\hfil\@sendername}\hfil}
%% 連名を可能にするため以下を挿入
\put(5,85){\kanjiskip=0.3zw\fontsize{15pt}{0pt}\selectfont%
\parbox<t>[t]{55truemm}{\hfil\@sendernameb}\hfil}

sendernamebの挿入位置を新たに定義しました.細かい位置調整は,本体のTeXファイルでしました*2

本体のTeXファイル(hoge.tex)はこちら*3

\documentclass[]{jletteraddress}
\usepackage{otf}

% Sender's informations
\sendername{安倍 晋三}
\sendernameb{   昭恵}
\senderaddressa{東京都千代田区永田町一ー十一ー二十三}
\senderaddressb{自由民主党本部}
\senderpostcode{1000014}

\begin{document}

\addaddress
{\CID{8705}木 毅}
{}
{1000014}
{東京都千代田区永田町一ー十一ー二十三}{自由民主党本部}

\end{document}

さきほどのhoge.texファイルをpdfに変換すると,以下のサンプル年賀状が出来上がります*4

$ platex hoge && dvipdfmx hoge
###((フォントを変えたい場合,マップファイルを作成し(例えばhiragino.map),dvipdfmx -f hiragino.map hoge.dviとする))

f:id:laphroaig1815:20151224163950j:plain:w500

ちなみに,100人分の宛名をpdfに出力するためには,名簿ファイル(例えばmeibo.csv)のテキストデータを\addaddress{氏名}{敬称}{郵便番号}{住所1}{住所2}の形へと整形しなければなりません.整形は使い慣れたEmacsでしました.

この作業に40分かかりました.あと少しだ.

プリンターの初期設定をして年賀状を100枚印刷(1時間50分)

年賀状を印刷するのは初めてでしたが,なんとか1時間50分で終了. プリンターはEP-802Aを使用*5

年賀状は,日本郵便製インクジェット写真用(62円/枚)を使用.

  1. EP-802Aを自宅の無線LANに接続する
  2. macの設定でプリンターが検出されると,ドライバー等のインストールが始まる
  3. 9ヶ月使っていないので,ノズルチェックとヘッドクリーニングを行う
  4. EP-802Aの用紙カセットに10枚ずつ葉書をセットして,10枚ずつ印刷*6

まとめ

今回は,文面のデザインに30分,宛名の出力に40分,印刷に1時間50分かかりました. 全作業を振り返ると,無駄な作業,もっと自動化できる作業がありました.要改善ですね.

  1. PhotoshopIllustratorでの作業をなるべく自動化したい*7
  2. jletteraddress.clsを改良して,宛名の連名をできるようにしたい
  3. 名簿ファイル(meibo.csv)を一発で年賀状用のTeXファイルに変換できるようなスクリプトを書きたい

*1:僕の知識の範囲では

*2:具体的には,妻の名前の前に全角スペースを挿入しました

*3:サンプルなので実際に送らないで下さいね

*4:今時のWordなら「はしごだか」ぐらい出力できますが…

*5:妻のプリンターを拝借しました

*6:20枚の葉書を入れると,紙詰まりエラーを起こしたため

*7:JavaScriptがよいのか?