- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!TCPDFを使う
!!小塚明朝Pro Mのバグ
kozminproregular
kozgopromedium
は、「÷」や「×」が小さく計算されるバグがある。
表示幅と計算上の幅(改行などに影響)を修正する。
!計算上の幅修正
kozminproregular.php や kozgopromedium.php を開いて
$cw 配列を
215=> 1000, 247=>1000
に修正。また、$_cr 配列に
array(65377-31, 65439-31, 500),
を追加する。
!表示幅修正
PDF出力の際に、半角カナが全角文字の幅で出力される。
修正したい場合は、_putfontwidths関数を修正する。
tcpdf5以前は、tcpdf.php
tcpdf6以降は tcpdf_fonts.php
に_putfontwidths関数がある。
最後の
return '/W ['.$w.' ]';
を
if (
$font["fontkey"] == "kozminproregular" ||
$font["fontkey"] == "kozgopromedium"
)
{
return '/W ['.$w.' 332 389 600 ]';
} else {
return '/W ['.$w.' ]';
}
にする。
!!フォントについて
http://phpjp.info/?TCPDF%2B%E6%97%A5%E6%9C%AC%E8%AA%9E%28IPA%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%29
標準の小塚フォントよりは、IPAフォントを組み込んだほうが良い。
+IPAフォントをダウンロード
+fontsディレクトリへttfファイルをコピー
+TTFフォントをTCPDFフォントへ変換
++帳票出力の際に addTTFfont を呼ぶだけ
++$font1 = $pdf->addTTFfont('./fonts/ipamp.ttf');
IPAフォントなら綺麗だし、幅の修正も不要なのでオススメ。
!!インストール
http://sourceforge.net/projects/tcpdf/files/
からダウンロードして任意の場所に解凍。
http://www.monzen.org/Refdoc/tcpdf_freefontj/
から使いたいフォントをダウンロードして、fontsディレクトリへ解凍する。
examples/lang を config/lang へコピー(ディレクトリが存在しない場合は作成する)
!!一覧帳票
http://winofsql.jp/VA003334/sh_web100614162543.htm
ソース
{{ref syain.php}}
!!単票
http://techblog.crooz.jp/?p=3324
ソース
{{ref tanpyo.php}}
「\」を置き換えないと動かないかも。
!!FPDIとテンプレート
未作成
!!フォントを追加する
http://se-suganuma.blogspot.jp/2009/02/tcpdfipa.html
TCPDF の
fonts/utils
をまるごとコピー。IPAのフォントファイルipagp.ttfをutilsの下に置く。
# cd /tmp/utils
#./ttf2ufm -a -F ipagui.ttf
# php makefont.php ipagui.ttf ipagui.ufm
できあがったipagui.ctg.z, ipagui.php, ipagui.zをtcpdf/fontsに格納。
!!領域に合わせてフォントサイズを小さくする
MultiCell
の16番目の引数を使うと領域に合わせてフォントサイズを小さくすることができる。
14番目の引数(最大の高さ)と2番目の引数の高さを同じ値にして(0以外)、16番目の引数を true にする。
例
$pdf->MultiCell(10, 20, "テスト・テストテスト・テスト",1,'L',false, 0, '', '', true, 0, false, true, 20, 'T', true);
!!日本語ファイル名で出力する
TCPDFは標準では日本語ファイル名で出力できない。
tcpdf.phpのoutputメソッドを修正する。
if ($dest{0} != 'F') {
$name = preg_replace('/[\s]+/', '_', $name);
$name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name);
}
の2つ目のpreg_replaceをコメントアウトする。
!!!PHP Excelを使う
!!インストール
http://phpexcel.codeplex.com/releases/view/26478
からダウンロードして解凍
!!Archive Zip
Archive Zip が無い って言われたら
http://pecl.php.net/package/zip
から
1.8.10
を入れる。それ以上のバージョンは入らないかもしれない。
{{ref zip-1.8.10.tgz}}
!!使い方
適当にサンプルを見る
!!!FPDFとfpdiを使う
http://homepage3.nifty.com/yamada_ken1/starthp/subpagefpdfj.html#001
http://shikabo.ddo.jp/?cat=72
http://winofsql.jp/VA003334/phpVarious080825125024.htm
http://shikabo.ddo.jp/73.html
○php.ini を編集する
include_pathに追加する
include_path=".;C:\PHP\pear;C:\PHP\fpdf151
とりあえず、{{ref japanese_fpdf_fpdi.zip}}をダウンロードしてinclude_pathに通せばOK。
{{category2 プログラミング言語,PHP}}