PDF出力(その6)

背景画像の上に文字を出力できるところまでできた、その後の話。

PDF出力に使用しているtcpdfに含まれている日本語フォント(小塚フォント)だとなぜか出力されない文字があり、それが致命的だったので別のものに変えた。結果としてメイリオを入れた(つもり)。これもいくつかンフォントを試したがすんなりいかず、結局どっかのサイトで紹介されていたものを丸ごとそのまま試して何とかなったのがこれだった。

その後phpでフォームに入力したIDとパスワードでデータを検索して該当するものをPDF表示するところまでこぎつけた。レイアウトもtcpdfが一部のhtmlを表示できることからtableタグを駆使して解決した。

数年前には(シンプルで分かりやすい)情報の少なさにあきらめていたPDF出力が、今回はネットにある情報をほぼそのまま利用してどうにか目的に到達した。ライブラリをはじめ各種貴重な情報を公開している皆さんに感謝。

Access

これまで避けてきたデータベース。どうもイメージがつかめなくてかかわらないようにしてきたが、さわらざるを得ない事態になった。

正確にはちょっと”カチン!”とくることがあり、溜飲を下げるため手を出したというところだ。

以前からExcelから乗り換えたいものはいくつかあったが、やはりとっつきやすさでExcelから離れられなかった。これを機にAccessへの偏見をなくし、ついでに”カチン”ときた原因を取り除きたい。

PDF出力(その5)

TCPDFを利用して背景画像と文字流力のめどはついた。
が、
セットになっている小塚フォントだといくつか表示されない漢字があるようだ。ちなみに自分が真っ先に気づいたのは「録」で、これは使用頻度が多いので何とか表示したい。さらに言うならば、この程度の漢字が出ないとなれば人名はかなりの頻度で文字化け状態になるだろう。

他の日本語フォントを使えるようにする必要が生じた。

PDF出力(その4)

文字コードとパス。そしてコマンドプロンプトでの作業。

オープンソースなどを自力で自分の環境に合わせようとするとき、これが一番厄介だ。特に自分のようにできるだけ面倒は避けたい(ここでいう面倒というのは初心者レベルの手抜き)とドツボりやすい。

文字コードが原因でPDFが作成できないことは解決できた。UTF-8NでTCPDF周りを扱うことが解決策だった。そのためには解凍ソフトやエディタ、アップロードソフトの文字コード扱いを再確認することが必須だった。

次に背景画像の読み込み。これはパスをこれでもかくらいに確認しろ!ということだ。特にサンプルコードを改変する場合はどこにどうパスが通っているのか理解するべきだ。

コマンドプロンプトは日常Windowで事務作業をしている限りほとんど使わないので、パソコンのどこにあってどう呼び出すかを思い出すのに苦労するようになったため、あまりさわりたくない。ましてや、参考にしている情報がLinuxとiOSとかでのものなら一度はあきらめて、他をあたる。そしてどうやらそれしか方法がないらしいと思いいたって初めて取り掛かる。

実際問題、この辺が面倒だから「アップロードしたらすぐ使えるもの」が欲しくなるわけです(笑)
それを素直に掲示板で発信しちゃうと怒られちゃうので、必死に探して何とかする(笑)

50mダッシュイベントの番組編成をしたい

50m走のイベントでは2回タイムを計り、その合計時間を競う。この時1回目は年齢カテゴリーでプログラムを組むが、2回目は1回目のタイムで番組を組みなおす。

Excelで自動的(もしくは少しでも自動に近い形)に処理したい。本当ならばExcelにこだわる必要はないのだが、そのためのソフトを導入する予算的余裕はない。なので、Excelで処理する。

運用条件

  1. Excelで処理する。VABは極力使用しない。
  2. 処理時間をできるだけ短くする。修正を入れて30分以内。
  3. 8レーン30組くらいまでは対応したい
  4. 途中棄権などにも対応しやすいもの
  5. リザルトや表彰に対応できるもの

オンラインで領収証を発行したい

イベントへの申込があり、参加料の入金を受けて領収証を発行したい。これまではイベント当日までに準備して配布していたが、参加人数に変更があったりして意外とそのまま渡すことができなかったりする。

どのみち当日渡せなかったり、遠方の参加者に渡しそびれたときのことを考えると、認証キーとかを発行してそれぞれが領収証を印刷するようにしたら手間が減るかもと目論んだ。

運用条件としては、

  1. 認証キーをランダムな英数で発行する
  2. 認証キーと受付番号で参加者を特定する。
  3. PDF発行したいが、難しい場合はHTMLで可。ブラウザで印刷してもらう。
  4. 領収証の印刷回数をカウントする。
  5. 発行期間(イベント日から1週間とか、入金確認日から1週間とか)
  6. 管理画面の要不要は…検討中

イベント申込をオンラインで対応したい

イベントの申込をフォームを利用して行ないたい。しかし、設置や運用はなるべく簡単に済ませたいというわがまま。

となると、フリーで利用できそうなもの(CGIとか)を探して改造していくしかない。CGIとかを探す条件として、

  1. オープンソースでフリーに使用できるCGI
  2. 営利目的使用になっても規約に違反しなさそうなもの
  3. 設置がしやすいもの(カスタマイズしやすいもの)

でもって、今回の運用条件として

  1. 申込内容の確認メールを申込者と担当者に送付
  2. 申込ファイル(Excel)をドラッグドロップでアップロード

こんなところです。