お問い合わせ

PHPからの帳票出力

Create!Formは、Windows・Linux環境においてPHPから利用可能な帳票ツールです。

この記事では、PHPでPDF、HTML、Excel、印刷の帳票を出力する最も簡単なサンプルコードを紹介します。
運用要件に応じた出力形態を以下のタブメニューから選択してご覧ください。

PHPからのPDF帳票出力

PHP + Create!FormでのPDF帳票生成方法

まず、Create!Formを使ってPDF帳票を生成する手順を説明します。

  1. 帳票開発環境で、帳票定義(デザインやデータとの関連付け)を作成する。
  2. PHPアプリケーションより、帳票出力用データファイルを作成する。
  3. PHPアプリケーションから、1の帳票定義や2の帳票出力用データファイルをもとに、Create!Form Cast(PDF帳票出力ランタイム)を呼びだし、PDF帳票を出力する。

PHPでPDF帳票を生成する

3の、Create!Form Castを呼び出すPHPサンプルコードを以下に記載します。

PHPサンプルコード

実行パラメーターに、作業ディレクトリ、スタイルファイル、出力ファイル名、入力データファイル名を設定し、Create!Form Castを呼び出します。

■Windowsの場合

<?php 
	/*Create!Form:実行ファイルの設定*/
	$cfInstDir = "C:/Program Files (x86)/Infotec/CreateForm/12";
	/*作業ディレクトリ*/
	$cfworkdir  = "C:/ProgramData/Infotec/CreateForm/12/work/reference/barcode";
	/*スタイルファイル*/
	$stylefile  = "code39.sty";
	/*出力ファイル名(ディレクトリに書き込み権限必要)*/
	$outputdir  = $cfworkdir;
	$outputfile = $outputdir."/code39.pdf";
	/*入力データファイル名*/
	$datafile   = $cfworkdir."/code39.csv";

	/*Create!Form Cast実行*/
	$execmd = "\"".$cfInstDir."/CCast.exe\" -D".$cfworkdir." -s".$stylefile." -o".$outputfile." ".$datafile;
	system($execmd, $ret);
	
	echo("Return Code:".$ret.PHP_EOL);
?>

■Linuxの場合

<?php 
	/*Create!Form:実行ファイルの設定*/
	/*作業ディレクトリ*/
	$cfworkdir  = "/home/test/work";
	/*スタイルファイル*/
	$stylefile  = "code39.sty";
	/*出力ファイル名(ディレクトリに書き込み権限必要)*/
	$outputdir  = "/home/test/work";
	$outputfile = "code39.pdf";
	/*入力データファイル名*/
	$datafile   = "/home/test/work/code39.csv";

	/*Create!Form Cast実行*/
	/*実行コマンドライン*/
	$execmd = "ccast -D".$cfworkdir." -s".$stylefile." -o".$outputdir."/".$outputfile." ".$datafile;
	$cfret  = 0;
	$sysret = "";
	/*実行*/
	$sysret = system($execmd , $cfret);

	if($cfret!=0){
		/*Create!Form実行エラー*/
		print("Error:".$cfret.PHP_EOL);
		print("Command:".$execmd.PHP_EOL);
	}else{
		print("Success");
	}
?>

このサンプルコードを実行すると、指定したディレクトリにPDF帳票「code39.pdf」が作成されます。

さらに以下の記事では、Create!Form体験版を利用する、より実践的なPHPサンプルコードを紹介しています。
Webクライアントのリクエストに応じてPDF帳票を生成し表示します。
PHP(Windows)からの帳票出力

また、以下のような処理についても、この記事と同様の方法で実現できます。

帳票のオンデマンド印刷
セキュリティ付きPDF帳票の出力

サンプルコードTOPに戻る