Skip to content

tecolicom/nenga-print

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nenga-print

年賀状宛名印刷システム。CSV ファイルから PDF を生成します。

特徴

  • Docker で完結(環境構築不要)
  • CSV を置いて実行するだけ
  • 印刷用 PDF とプレビュー用 PDF を生成
  • HTML 印刷対応(ブラウザで印刷)
  • プリンタ補正オプション(OFFSET)
  • Web フォント使用(Klee One)
  • CSS 組版(vivliostyle)
  • 軽量イメージ(nenga-print:light)で HTML のみ生成可

必要環境

  • Docker

クイックスタート

以下のコマンドでサンプル PDF を生成できます:

docker run --rm -v "$(pwd):/work" tecolicom/nenga-print demo

sample.csvsample.pdf(印刷用)、sample.preview.pdf(確認用)が生成されます。

CSV フォーマット

1行目はヘッダー、2行目が差出人、3行目以降が宛先です。

列名 説明 別名
連名 連名者の名前 配偶者
家族 家族の名前(「・」または「/」区切り) 子供
郵便番号 郵便番号
都道府県 都道府県
市区町村 市区町村
番地・建物 町名番地(空白)建物名等
敬称 敬称(デフォルト: 様)
備考 「保留」「済」「喪中」でスキップ

補足

  • 夫婦別姓:配偶者欄に「姓 名」をスペース区切りで記入
  • 家族の別姓:同様に「姓 名」形式で記入可

使い方

dozo を使うと簡潔に実行できます:

echo '-I tecolicom/nenga-print' > .dozorc

dozo がない場合は以下の関数で単純な使い方なら代用できます:

dozo() { docker run --rm -v "$(pwd):/work" tecolicom/nenga-print "$@"; }

PDF 生成

dozo make                    # すべての CSV から PDF を生成
dozo make address.pdf        # 特定のファイルを生成
dozo make clean              # PDF を削除

生成されるファイル:

  • *.pdf - 印刷用(枠なし)
  • *.preview.pdf - プレビュー用(枠付き)
  • *.html - ブラウザ印刷用

HTML 印刷

HTML ファイルをブラウザで開いて印刷することもできます:

dozo make sample.html
open sample.html  # ブラウザで開く

キーボードショートカット:

  • j k - ページ切り替え
  • Home End - 最初/最後のページへ
  • g - グリッド表示のトグル
  • h - 背景画像のトグル
  • ? - ヘルプ表示のトグル

プリンタ補正

印刷位置のズレを補正できます:

dozo make OFFSET=-1.5mm           # 左に 1.5mm オフセット
dozo make OFFSET="-1.5mm, 0.5mm"  # 左に 1.5mm、上に 0.5mm オフセット

補正は印刷用 PDF のみに適用され、プレビュー用 PDF には影響しません。

リアルタイムプレビュー

vivliostyle のプレビュー機能を使うと、ブラウザでリアルタイムに確認できます。 dozo を使う場合は -P オプションでポートを公開します:

dozo -P 13000 make sample.preview

表示された URL をブラウザで開きます。Ctrl+C で停止。

カスタマイズ

make init でテンプレートファイルをローカルにコピーし、カスタマイズできます:

dozo make init

以下のファイルがコピーされます:

  • nenga.emz - テンプレート
  • style.css - 基本レイアウト
  • style-custom.css - スタイル(カスタマイズ用)
  • style-zip.css - 郵便番号配置
  • style-preview.css - プレビュー用スタイル
  • hagaki-bg.svg - はがき背景
  • grid.svg - グリッド線
  • Makefile - ローカル用 Makefile
  • sample.csv - サンプル CSV
  • .dozorc - dozo 設定
  • README.md - 使い方

ローカルに vivliostyle がインストールされていれば、Docker なしで実行できます:

make sample.preview

構成技術

Docker イメージ

公開イメージ

  • tecolicom/nenga-print - フル版(PDF/HTML 生成、約 2GB)
  • tecolicom/nenga-print:light - 軽量版(HTML のみ、約 300MB)

軽量版は vivliostyle/Chromium を含まないため PDF 生成はできませんが、 HTML を生成してブラウザで印刷する用途に使えます。

ローカルビルド

make build  # Dockerfile を生成してビルド

または個別に:

make Dockerfile           # テンプレートから Dockerfile を生成
docker build -t nenga-print .
docker build -f Dockerfile.light -t nenga-print:light .

ライセンス

MIT

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors