大量のメールをPDFに! wkpdf (HTML2PDF) を使ってみた

500通ほどのメールをPDFにする必要に迫られているおおひがしです。

手作業でやってやれない量ではないのですが、途中で間違ったりするだろうし、100通ほどでやる気がゼロになります。なので、こういう面倒な作業はパソコンにお願いしたい。

やり方を探しました。

手順

  • ThunderBirdにて、メッセージをHtmlに書き出し
  • wkpdf (HTML2PDF) にて、PDFに変換
  • 面倒なところは bash スクリプトに担当

Gmail

PDFにするメールはGmailの上でラベルにて、整理しておきます。この次の作業はThunderBirdで行います。

ThunderBirdからGmailを開くと、ラベルごとにメッセージが別れています。このラベルを右クリックします。

インポート・エクスポートを選びます。

mail001

「フォルダ内のすべてのメッセージをエクスポート」を選択。

mail002

HTML形式(添付ファイル含む)を選択。

mail003

これでラベルにて選択されているメッセージ(今回は500通)がHTML形式にて出力されました。ここまでできるなら、PDFにして欲しいのですがその機能が無いので、ちょっと工夫します。

1つづつ開いてPDFに保存していく、人海戦術もなくはないのですが。1つ20秒でできても3時間弱かかります。実際には途中で集中力切れて、もっとかかるでしょうし。

出力するメールの抽出条件が変わるかもしれないので、なんとか作業を半分でも良いので自動化したいなと..いうことです。

wkpdf (HTML2PDF)

こういうときに、頼りになるのはコマンドラインです。automatarでも試しましたが、いまいち上手にできませんでした。

wkpdf — a command line HTML to PDF converter for Mac OS X
インストール方法はこのサイトにあるように、コマンドラインからインストールします。

[text]
sudo gem update –system
sudo gem install wkpdf
gem update wkpdf
[/text]

これでインストール完了です。

使い方は下のコマンドです。

[text]
wkpdf –source huge.html –output foo.pdf
[/text]

ということは、スクリプトで自動化できるわけです。

そのための htmlpdf.sh を作りました。下の通りです。

[text]
#!/bin/sh
files="*.html"
for file in ${files}
do
echo ${file}
wkpdf –source ${file} –output ${file}.pdf
done
[/text]

「sh htmlpdf.sh」と唱えると、そのディレクトリーにあるHtmlファイルを全部PDFにしてくれます。

あとは、PDFを連結する必要もありますが、PDFにするところが一番面倒なのでこれがスクリプトの力で楽にできて良かったなをというエントリーでした。

皆さんはどう感じられましたか?面倒な作業はパソコンにさせて楽したいですよね。