LibreOffice [Hack]
FlatODFとスクリプト処理でお手軽帳票もどき
〜Drawデータではがきの宛名印刷〜
「第17回 関西LibreOffice勉強会」で報告発表したネタのご紹介です。
「LibreOffice Advent Calendar 2019」6日目にもこのページでエントリーしています。4日目のShinji Enokiさん記事と合わせて裏表揃うといいかなぁ…なんて。お手つきはルール違反? アップデートで許してw。7日目はMucky999さんによる「LibreOffice Conference 参加報告と珍道中」♪だそうです。
報告発表資料
内容はこちらのリンク先資料を御覧ください。
- 2019-12-03 修正版 [PDF 818.0kB]
- 「過去の帳票関連報告例」ページについて、Arachansanさん(@arachan@githubさん)の関連記事情報(LibreOffice Advent Calendarのもので、記事はQiita上)を独立ページで追記。
- 「サンプルデータの用意」ページにて、LibreOfficeコマンドライン起動でのODS→CSV変換の調査進捗状況をメモ書き。
- 「実行前のフォルダ状況」他ページにて、Tclインタープリタのファイル名を変更(本ページの導入案内に合わせて)。
- 2019-12-02 修正版 [PDF 810.0kB]
- 「自己紹介」ページ追加(報告時は2件報告のためファイルを分けていました)。
- 「過去の帳票関連報告例」ページにて、Qiitaに@arachan@githubさんの関連記事が投稿されていることについてメモ書き(報告発表時に情報入手)。
- 「CalcでのCSV保存」ページにて、今回のサンプルスクリプトではサンプルデータの文字コードを指定している旨、補足説明追記。
- 「サンプルスクリプト」ページのソースコード内にて、LibreOffice実行ファイル名から拡張子を削除(どーでもいーですがw)。
- 「サンプルスクリプト」ページのソースコード内にて、PDF変換行をコメントアウト(これもどーでもいいですが…)。
- 「実行前のフォルダ状況」ページにて、本ページ配布のサンプルファイルのファイル構成が変更となっている旨メモ書き…したのですが、その後(概ね)元に戻ったので勇み足な感じで…(汗)。
- 「デモ2 ファイル形式変換と印刷 PDF&印刷では」ページにて、PNG出力の挙動はバグではないかという報告発表時の指摘についてメモ書き。
- 2019-11-30 第17回 関西LibreOffice勉強会 当日報告版 [PDF 794.9kB]
ダウンロード
自作ファイルは「クリエイティブ・コモンズ・ライセンス」の「CC BY-NC-SA(表示-非営利-継承)」相当…を主張してもいいのかな?(この程度はパブリック・ドメインクラス?)
- サンプルファイル 2019-12-02 事後修正版 [ZIP 13.4kB]
- 報告内で使ったサンプルファイル群です。興味のある方はどうぞ。
- サンプルスクリプトの実行にはTclインタープリタが必要です(ダウンロードファイルには含めていません)。詳細は割愛しますが、代表的な例について簡易にインストール手順ご紹介しておきます。
- Windows OSの場合
- TclKitsのDownloadsページから、Windows用の「Tclkit」をダウンロードします。
- ダウンロードリンクがいっぱいあって分かりにくいのですが、報告発表で使ったのは
「TclKits with Extensions Included」の「System=Windows, Platform=x86, Versions=8.6.9, Tk=-」のものです。
- 別に他のものでも構いません。参考選定基準は次のとおりです。
- 環境(SystemやPlatform)が適合していてTkを含まないもの(「TclKits with Extensions Included」では「Tk」欄が「-」のもの)。
(Tkを含んでいても動きますが、余計なGUIウインドウが開いて今回の用途には少々邪魔くさいです。)
- バージョンはどれでも大丈夫と思いますが、まぁ新しいものが良いでしょう。
- Platformは「x86」なら32bit/64bitどちらの環境でも動くので差し当たって融通が利きます。
- ダウンロードしたインタープリタファイルを、サンプルファイル群を展開したフォルダーにコピーし、ファイル名を「tclsh.exe」に書き換えます。
(やりようはいろいろありますが、ここでは簡便のためこの方法で紹介しておきます。慣れた方はご自由にどうぞ。)
- ubuntu OSの場合
- 残念ながら手元のものでは標準インストールされてませんでした(PythonやPerlは入ってるのに…orz)。が、「sudo apt install tcl」で普通に入りました。
- その他のOSの場合
- Windows/ubuntuの例を参考に自助努力でお願いします(爆)。
- やり方次第ではAndroidでも動かせるはずです。
- サンプルスクリプトの実行は次のような感じで。
- Windows OSの場合
- 「サンプルスクリプト.bat」を実行。(理解されてる方は他の方法でももちろんOK。)
- ubuntu OSの場合
- ターミナルから当該フォルダで「tclsh -encoding cp932 サンプルスクリプト.tcl」。(他の方法は未確認です。)
(サンプルスクリプトをWindowsの文字コードで保存しているため、他環境ではオプション指定が必要になります。)
- サンプルスクリプトは基本機能以外のファイル変換部分などをコメントアウトしています。そのためデフォルトではFODG形式だけが出力されます。
- ファイル変換やプリンター印刷を試したい場合は、スクリプトファイルの編集が必要です。テキストエディターなどで適宜編集ください。
- ファイル変換部は末尾にあります。試したい変換の行について、行頭のコメントアウト記号「#」を外します。
- 呼び出すLibreOfficeをファイル名指定してやる必要があります。スクリプトの冒頭部に設定行があるので、環境に合わせて書き換えてください。
- なお手元のubuntuでは動作確認できていません(汗)。
- テンプレートのフォントは「Tフォント」の「Tフォント(GTセット) 楷書(TKaisho-GT01)」と「IPAフォント」の「IPAゴシック」を使用しています。ご希望に応じて適宜ご用意ください。
- 郵便はがき雛形(Draw形式) by JO3EMC [ZIP 112.1kB]
- デモンストレーション用に作り起こしたDraw形式の郵便はがき表書き雛形です。デモとは関係なく汎用に使ってもらえるかも知れません。
- 郵便番号枠などが描かれています。そのまま印刷して使うというよりは、位置合わせ用の背景画像として使うことを主に想定しています。
- 原版はFODG形式(テキストエディターによる手打ち)で、利便のためODF、PDF、PNGの各形式に変換したものも同梱しています(それぞれに合わせて収録内容を変えています)。
- また原版は普通の郵便はがきと年賀はがきの両方向けの部品を混載しているのですが、これも利便のため、分けたもので収録しています。
- フォントは「Tフォント」の「Tフォント(GTセット) 楷書(TKaisho-GT01)」と「IPAフォント」の「IPAゴシック」を使っています。ご希望に応じて適宜ご用意ください。
更新履歴(だいたい)
- 2020-05-19
- 2019-12-06
- 報告発表資料 2019-12-06 rev.2 追加。
- 報告発表資料欄に差分情報追加。
- 「LibreOffice Advent Calendar 2019」エントリー。
- 2019-12-03
このページから抜ける→
いさな工房HP トップ
/
@nifty
サイト管理者:岩橋伴典 as いさな
(E-mail:jo3emc@jarl.com / Twitter:@jo3emc)