NGW開発BLOG
← 記事一覧へ
·#048
文書管理特集#5

紙への印刷は、全てPDFにした帳票は一字もずらせない

役所の帳票は、罫線一本・一字のズレも許されない。だからNGWは画面から直接印刷するのをやめ、印刷をすべてサーバ生成のPDFに通した。PDFは紙面を固定するだけでなく、そのまま保存できる——ペーパーレスの土台になる。文書管理シリーズ第5回。

帳票は、一本の罫線までが決まっている

役所の帳票は、見た目が"だいたい合っている"では通らない。起案書、受発簿、簿冊目録、背表紙、決裁欄、押印欄——どこに何を置き、罫線を何本引き、A4のどこで改ページするかまで、様式で厳密に決まっている。一字ぶんのズレ、罫線一本の食い違いが、「様式と違う」になる。

ところが、ブラウザの印刷機能やHTMLの表示は、この厳密さと相性が悪い。フォント、余白、改ページの位置が、端末やプリンタ、ブラウザのバージョンで少しずつ変わる。画面では整っていた帳票が、別の職員のPCから印刷すると、微妙に崩れる。役所の帳票では、その"微妙"が許されない。

だからNGWは、印刷を全てPDFにした

NGWの答えは、はっきりしている。画面から直接印刷するのをやめ、印刷はすべて、サーバで生成したPDFを通す。 サーバ側で TCPDF というライブラリを使い、A4のどの位置に何を置くか、罫線一本の太さまで、プログラムで組み立てる。出来上がったPDFは、どの端末で開いても、どのプリンタで出しても、寸分違わず同じ紙面になる。

役所の帳票は、罫線で区切られた升目の集まりだ。そこでNGWは、PDFを座標でなく「行と列」で組む——という作り方をしている。この工夫は、別稿に詳しく書いた。

PDFは「印刷」ではなく、「保存」でもある

PDFにするうまみは、紙面が安定することだけではない。紙に出す前に、PDFとして残せることにある。決裁が済んだ文書管理カードも、簿冊目録も、背表紙も——NGWの帳票は、すべてPDFで保存できる。

こうなると、順序が入れ替わる。紙は"最終出力のひとつの形"にすぎず、正本はPDFとして残る。必要なときに紙へ落とし、必要なければ、そのまま電子で保管する。前回ふれた「完全なペーパーレス化」の土台は、この「印刷=PDF」という置き換えの上に乗っている。

役所ならではの壁 — 外字

ただし、役所の文書をPDFにするには、避けて通れない壁がある。外字だ。人名や地名には、「渡邊」の"邊"や、「𠮷」のような、常用の字体では収まらない異体字が、いくらでも出てくる。住民の名前を一字でも間違えれば、公文書として失格になる。

これをPDFに正しく出すのは、簡単ではない。和文フォントの埋め込み、文字コードの範囲(BMPの外にある字は、素直には出せない)、豆腐(□)になる字の扱い——ひとつずつ潰していく必要がある。NGWは、サロゲートで豆腐になる問題や、外字をSVGで差し込むといった作り込みで、この壁を越えてきた。「たかが印刷」の裏には、これだけの地層がある。

AIとの協働作業での学び

「印刷といえば紙」という思い込みを、「印刷といえばPDF」に置き換える。ただそれだけの再定義が、驚くほど多くのものを一度に連れてくる。レイアウトの厳密さ、どの端末でも同じ紙面、保存と再現、配布のしやすさ、そしてペーパーレスへの道——PDFを"一次生成物"に据えた瞬間、それらがまとめて手に入る。

紙は、そのPDFを、たまたま紙に落とした姿にすぎない。出力の最終形を、紙から一段引き上げておく。この小さな発想の転換が、役所の帳票という、いちばん厳密でいちばん紙くさい領域を、静かに電子へ運んでいく。

(文書管理シリーズ第5回。技術的な深掘りは TCPDFを行・列で組むサロゲートと豆腐外字をSVGで差し込む を。)