tkinterでcaption自動作成

必要があって展覧会に展示する作品に添付するcaptionを自動生成するプログラムを作ってみた。問題はtkinterで作った画面を画像ファイルにして印刷する工程である。

tkinterのcanvasウイジェット上にcaptionのイメージを作成し、このイメージを画像ファイルとして保存する。canvasウイジェットには自身が作ったイメージをpostscriptファイルにする機能があるが、日本語に取り扱いができない。そこで試みたことは画面の部分スクリーンショットで、canvasの部分を切り取って画像ファイルとして保存する。この方法を使った。

この部分の処理はPILモジュールのimagegrabとwin32guiを使った。win32guiでcanvasを含むwindowを特定し、imagegrabでその窓のcanvas部分だけを切る取ることをした。

作成例

作成例(写真L版サイズ)

ユーザインタフェイスは以下のような感じ:

上段:データ入力フォーム;下段:カンヴァス

全体のプログラムはここで見れる。