ウェブとデータベースサーバ構築法の修得 · とりわけ、サーバ( apache +...
TRANSCRIPT
![Page 1: ウェブとデータベースサーバ構築法の修得 · とりわけ、サーバ( Apache + PHP(Hypertext Processor) + PostgreSQL )のデータベースの検索結果の 帳票出力について研修を行う。](https://reader033.vdocuments.pub/reader033/viewer/2022042300/5ecabb2e7bd3683e047381b5/html5/thumbnails/1.jpg)
ウェブとデータベースサーバ構築法の修得
青木延幸、早川正人、佐々木康俊 全学技術センター 工学技術系 第 1 技術課(電子・情報)
はじめに 本研鑽研修では、多岐にわたる罫線項目の書類作成をウエブサーバ利用の一例としてとりくむ。
ウエブとデータベース(本研修ではそれぞれApache と PostgreSQLを利用) を組み合わせたサーバの
構築にとりくみ、そのサーバの構築を実際に自ら設定を行うことを通して身につける。
とりわけ、サーバ( Apache + PHP(Hypertext Processor) + PostgreSQL )のデータベースの検索結果の
帳票出力について研修を行う。
1.サーバ構成の概略
サーバ構成の概略を図 1 に示す。
ユーザは手元のクライアント PC か
らデータベースサーバの URL を入
力しブラウザより「リクエスト」を
おくる、PostgreSQLに問い合わせた
結果を HTML 出力しブラウザに表
示する。特に本研鑽研修では PDF
( Portable Document Format )ファ
イルを必要に応じて出力できるサ
ーバの構築について試みる。
2.PDF ファイルの作成方法について
1)PDF ファイルをエディタで編集する
PDF ファイルは図 2 のような中身になっており、PDF ファイルの書式に従って直接記述する作成
方法もある。また、最近の文
書作成用ソフトウェアでは
印刷出力の命令の中に「PDF
ファイルとして保存」が可能
なものも多い。この場合は
PDF ファイルの書式を意識
することなく、文書を作成し
た後に PDF ファイルを作成
することが可能である。
2)HTML から PDF 文書を
作成する
HTMLDOC アプリケーシ
ョンプログラムを利用して、HTML 文書を PDFファイルに変換する。
図 2 PDF ファイルの抜粋
図 1 データベースサーバの構成図
![Page 2: ウェブとデータベースサーバ構築法の修得 · とりわけ、サーバ( Apache + PHP(Hypertext Processor) + PostgreSQL )のデータベースの検索結果の 帳票出力について研修を行う。](https://reader033.vdocuments.pub/reader033/viewer/2022042300/5ecabb2e7bd3683e047381b5/html5/thumbnails/2.jpg)
3)PHP で PDF 文書を作成する
PHP で PDF 文書を作成するライブラリには PDFlib モジュール、R&OS PDF-PHP ライブラリ、FPDF
ライブラリ、pdf4php ライブラリ、phppdflib ライブラリなどがある。
4)Java で PDF 文書を作成する
Java アプリケーションで iText ライブラリ、PJX ライブラリで PDF 文書を作成する。
5)Ruby で PDF 文書を作成する
Ruby で ruby_fpdf、pdf-writer、Ruby/PDFlib、ClibPDF や Ruby/Panda を利用して PDF 文書を
作成する
6)LaTex で PDF 文書を作成する
まず LaTeX アプリケーションで dvi ファイルを作成する。それを dvi2ps アプリケーションで
ps ファイルに変換する。さらに ps ファイルを ps2pdf アプリケーションで PDF 文書を作成する。と
いった 3 段階の手順を経る必要がある。
3.本研鑽研修でとりあげた PDF 文書作成方法 本研修では、帳票作成にあたり、上記 3)の「PHP で PDF 文書を作成する」方法を試みることとし
た。PHP で PDF 文書を作成するライブラリーの機能の比較を表 1 に示す。罫線の表を含む日本語の 2
バイト文字も利用出来ることを必要条件とした。具体的には「文字」、「直線」と「日本語」の利
用が可能であることから PDFlib モジュールと、FPDF ライブラリの二つを扱うこととした。
4.研鑽の分担 本研修では青木が PDFlib の情報収集,サーバへのインストール、早川が FPDF の情報収集,サーバ
へのインストール設定, 動作確認プログラム作成、佐々木が参考文献の選定,PDFlib の動作確認プ
ログラム作成を分担した。
表 1 PHP で PDF ファイルを作成するライブラリーの機能の比較
![Page 3: ウェブとデータベースサーバ構築法の修得 · とりわけ、サーバ( Apache + PHP(Hypertext Processor) + PostgreSQL )のデータベースの検索結果の 帳票出力について研修を行う。](https://reader033.vdocuments.pub/reader033/viewer/2022042300/5ecabb2e7bd3683e047381b5/html5/thumbnails/3.jpg)
5.FPDF プログラムと PDFlibプログラムの関数の例 FPDF と PDFlib(バージョン 4.0.3)各プログラムの開始、フォントの選択、文字の表示、線の太さ
の指定、直線の描画とプログラムの終了の関数の例を表 2 に示す。FPDF では直線の描画を直線の
両端の xy 座標を関数に指定するが、PDFlib では直線描画関数は現在の座標点から描画終了点の xy
座標を指定するので、現在の座標位置と異なる xy 座標から描画したいときには、直線描画の開始座
標に座標点移動の関数で移動し、描画開始点に移動した後、描画終了点の xy 座標を記述する。
表 3 に文字列を枠内に表示する関数と PDF ファイルの読み込み関数の例を示す。FPDF では
MultiCell という関数で文字列のサイズを指定する。PDFlib(バージョン 6)では、PDF ファイルを読
み込むことが出来るので、書類のフォーマットが決まった PDFファイルを利用することが可能であ
る。
表 2 FPDF プログラムと PDFlib プログラムの関数の例
表 3 文字列を枠内に表示する関数との PDF ファイルの読み込み関数
![Page 4: ウェブとデータベースサーバ構築法の修得 · とりわけ、サーバ( Apache + PHP(Hypertext Processor) + PostgreSQL )のデータベースの検索結果の 帳票出力について研修を行う。](https://reader033.vdocuments.pub/reader033/viewer/2022042300/5ecabb2e7bd3683e047381b5/html5/thumbnails/4.jpg)
6.PDFファイルの作成例 図 3 に PDF ファイルの作成例を示す、a)が FPDF で作成した PDF ファイルで、b)が PDFlib によ
り作成した PDFファイルである。
7.サーバから罫線を含む帳票の pdfファイルを作成する場合 先に述べた「文字」、「直線」と「日本語」の利用が可能であることが必要条件と、さらに文字列
を指定した枠内に記述することが可能であること。PDFlib モジュールはライセンス料金の支払いが
必要であること、FPDF ライブラリの利用はフリーであることから FPDF ライブラリの利用が妥当で
あると判断した。
謝辞 本研鑽研修実施にあたり、技術部・電子情報系の研修用サーバを借用しました。
参考文献 Sid Steward 著千住治郎 訳:PDF Hacks̶文書作成、管理、活用のための達人テクニック, オライリー・ジ
ャパン.
アドビシステムズ著(株)ドキュメントシステム訳:PDF リファレンス第 2 版̶Adobe Portable Document
Format Version 1.3, ピアソン・エデュケーション.
図 3 a)FPDF プログラムと b)PDFlib プログラムで作成した PDF ファイルの例