【門前.ORG/MONZEN.ORG】チーター・エンジニア/Cheetah Engineer

CheetahEnginner/MONZEN.ORGアセンブル・ウェブサイト/Assemble.JP アセンブル・ウェブサイト
MONZEN.ORG/WAKU MONZEN.ORG  2012/5/18(金) MONZEN.ORG/WAKU
アセンブル・ウェブサイト
 トップ | 開発ドキュメント | お問合せ | プライベート | 概要 | サイトマップ |  
 リファレンス > TCPDF > 特記事項
TCPDFに関する特記事項
VER 4.0.022 〜 5.9.029 10.12.04
Linux/BSD/Unixサーバーでは欧文フォント「zarbold」はそのままでは使えません。
フォントのファイル名を大文字から小文字に変更する必要があります。
ZarBold.ctg.z -> zarbold.ctg.z
ZarBold.z -> zarbold.z
VER 5.7.003 10.08.07
全サンプル」が更新されています。

  変更前
(VER 5.7.002)
変更後
(VER 5.7.003)
001 PDF PHP PDF PHP
002 PDF PHP PDF PHP
003 PDF PHP PDF PHP
004 PDF PHP PDF PHP
005 PDF PHP PDF PHP
006 PDF PHP PDF PHP
007 PDF PHP PDF PHP
008 PDF PHP PDF PHP
009 PDF PHP PDF PHP
010 PDF PHP PDF PHP
011 PDF PHP PDF PHP
012 PDF PHP PDF PHP
013 PDF PHP PDF PHP
014 PDF PHP PDF PHP
015 PDF PHP PDF PHP
016 PDF PHP PDF PHP
017 PDF PHP PDF PHP
018 PDF PHP PDF PHP
019 PDF PHP PDF PHP
020 PDF PHP PDF PHP
021 PDF PHP PDF PHP
022 PDF PHP PDF PHP
023 PDF PHP PDF PHP
024 PDF PHP PDF PHP
025 PDF PHP PDF PHP
026 PDF PHP PDF PHP
027 PDF PHP PDF PHP
028 PDF PHP PDF PHP
029 PDF PHP PDF PHP
030 PDF PHP PDF PHP
031 PDF PHP PDF PHP
032 PDF PHP PDF PHP
033 PDF PHP PDF PHP
034 PDF PHP PDF PHP
035 PDF PHP PDF PHP
036 PDF PHP PDF PHP
037 PDF PHP PDF PHP
038 PDF PHP PDF PHP
039 PDF PHP PDF PHP
040 PDF PHP PDF PHP
041 PDF PHP PDF PHP
042 PDF PHP PDF PHP
043 PDF PHP PDF PHP
044 PDF PHP PDF PHP
045 PDF PHP PDF PHP
046 PDF PHP PDF PHP
047 PDF PHP PDF PHP
048 PDF PHP PDF PHP
049 PDF PHP PDF PHP
050 PDF PHP PDF PHP
051 PDF PHP PDF PHP
052 PDF PHP PDF PHP
053 PDF PHP PDF PHP
054 PDF PHP PDF PHP
055 PDF PHP PDF PHP
056 PDF PHP PDF PHP
057 PDF PHP PDF PHP
058 PDF PHP PDF PHP
059 PDF PHP PDF PHP
060 PDF PHP PDF PHP
061 PDF PHP PDF PHP
VER 5.2.000 〜 5.3.010 10.06.16
TrueTypeのフォント・サブセットに関する処理が変更されました。

サブセット処理を実行するとかなりの処理時間とCPUパワーを消費します。そのため、事実上利用できないと考えた方がよいかもしれません。

以下の問題は「VER 5.4.000」にて解消されました。

また、現在のバージョンでは、以下のように「サブセットを使わずに、全てのフォントを埋め込むよう指定」しても反映されず、サブセット処理が動いてしまいます。

ex)
setFontSubsetting(false);

...

SetFont($fnt, "", 8, "", 'default');

この問題は5.3.011以降のバージョンで修正されるとの事ですが、それまでの間は日本語TrueTypeフォント(当サイトで配布している日本語フォントを含めて)を利用するには注意が必要です。

急ぎの方は、forumを参考にするか、または取り敢えず TCPDF VER.5.1.002(zipアーカイブ/11MB)以前のバージョンを利用するか、のいずれかをおススメします。

また、自社サーバーなど php.ini の設定を変更できる環境であれば、取り敢えず、以下のように実行時間の上限を大きくすれば表示できると思います。
;;max_execution_time = 30
; Maximum execution time of each script, in seconds

;; となっている所を、以下のように値を大きくする

max_execution_time = 300

(VER 5.2.000) 更新履歴
VER 4.0.022 〜 4.8.035 10.02.25
Linux/BSD/Unixサーバーでは欧文フォント「zarbold」はそのままでは使えません。
フォントのファイル名を大文字から小文字に変更する必要があります。
ZarBold.ctg.z -> zarbold.ctg.z
ZarBold.z -> zarbold.z
VER 4.8.029 10.01.28
目次作成機能の改修に伴って「サンプル045」が更新されています。

【変更前】(VER 4.8.028)
  サンプル045(PDF) | ソースPHP
VER 4.8.010 09.10.22
目次作成機能の改修に伴って「サンプル045」が更新されています。

【変更前】(VER 4.8.009)
  サンプル045(PDF) | ソースPHP
VER 4.8.008 09.09.30
全サンプル」が更新されています。

  変更前
(VER 4.5.008)
変更後
(VER 4.5.009)
001 PDF PHP PDF PHP
002 PDF PHP PDF PHP
003 PDF PHP PDF PHP
004 PDF PHP PDF PHP
005 PDF PHP PDF PHP
006 PDF PHP PDF PHP
007 PDF PHP PDF PHP
008 PDF PHP PDF PHP
009 PDF PHP PDF PHP
010 PDF PHP PDF PHP
011 PDF PHP PDF PHP
012 PDF PHP PDF PHP
013 PDF PHP PDF PHP
014 PDF PHP PDF PHP
015 PDF PHP PDF PHP
016 PDF PHP PDF PHP
017 PDF PHP PDF PHP
018 PDF PHP PDF PHP
019 PDF PHP PDF PHP
020 PDF PHP PDF PHP
021 PDF PHP PDF PHP
022 PDF PHP PDF PHP
023 PDF PHP PDF PHP
024 PDF PHP PDF PHP
025 PDF PHP PDF PHP
026 PDF PHP PDF PHP
027 PDF PHP PDF PHP
028 PDF PHP PDF PHP
029 PDF PHP PDF PHP
030 PDF PHP PDF PHP
031 PDF PHP PDF PHP
032 PDF PHP PDF PHP
033 PDF PHP PDF PHP
034 PDF PHP PDF PHP
035 PDF PHP PDF PHP
036 PDF PHP PDF PHP
037 PDF PHP PDF PHP
038 PDF PHP PDF PHP
039 PDF PHP PDF PHP
040 PDF PHP PDF PHP
041 PDF PHP PDF PHP
042 PDF PHP PDF PHP
043 PDF PHP PDF PHP
044 PDF PHP PDF PHP
045 PDF PHP PDF PHP
046 PDF PHP PDF PHP
VER 4.8.008 09.09.30
サンプル「examples049」が更新されています。

【変更前】(VER 4.8.007)
  サンプル049(PDF) | ソースPHP
VER 4.8.003 09.09.16
サンプル「examples012」が更新されています。

【変更前】(VER 4.8.002)
  サンプル012(PDF) | ソースPHP
VER 4.8.001 09.09.10
サンプル「examples054、examples014」が更新されています。

【変更前】(VER 4.8.000)
  サンプル014(PDF) | ソースPHP
  サンプル054(PDF) | ソースPHP
VER 4.8.000 09.09.08
サンプル「examples014、036、042、053」が更新されています。

【変更前】(VER 4.7.003)
  サンプル014(PDF) | ソースPHP
  サンプル036(PDF) | ソースPHP
  サンプル042(PDF) | ソースPHP
  サンプル053(PDF) | ソースPHP
VER 4.7.003 09.09.03
サンプル「examples014、049」が更新されています。

【変更前】(VER 4.7.001)は ⇒ サンプル014(PDF) | ソースPHP
【変更前】(VER 4.7.001)は ⇒ サンプル049(PDF) | ソースPHP
VER 4.7.001 09.08.31
サンプル「examples012」が更新されています。
⇒Polygon とArrowに関する色指定などが変更されました。
【変更前】(VER 4.6.029)は ⇒ サンプル012(PDF) | ソースPHP
VER 4.7.000 09.08.31
サンプル「examples052」が更新されています。
⇒PDFの出力文言が変更されています。
※(注)4.7.000のサンプル052で作成しているPDFは、検証エラーが発生します。
【変更前】(VER 4.6.029)は ⇒ サンプル052(PDF) | ソースPHP
VER 4.6.027 09.08.25
VER 4.6.027より、UNICODEのTrueTypeフォントを埋め込まないPDFの作成がサポートされるようになりました。
作成方法は、TrueTypeフォントから作成したTCPDF用のフォント定義ファイルの「〜.php」ファイルを編集します。
$file="..."
となっている箇所を、以下のようにコメントアウトします。
/*$file="..."*/

■ 「MS ゴシック」でのサンプル
【変更前】 フォント定義PHP (msgoth04_01t.php) | PDF(5.1MB) ・・・「埋め込み」
【変更後】 フォント定義PHP (msgoth04_01t.php) | PDF(0.4MB) ・・・「非埋め込み」
VER 4.6.026 09.08.22
サンプル「examples052」が更新されています。
「Signatureメソッド」が改良され、同時に「tcpdf.pemファイル」ではなく、セキュリティ証明書「tcpdf.crtファイル」が配布されています。
【変更前】(VER 4.6.025)は ⇒ サンプル052(PDF) | ソースPHP
VER 4.6.022 09.07.25
「dejavu-fonts」がバージョンアップしました。
これに伴い「javavuserifbi.*」ファイルが配布物に含まれなくなりました。
VER 4.6.020 09.08.08
nojimage」さんの指摘に応じUnicode変換に関する不具合が改修されました。
TCPDF SourceForge (2822339) word wrap bug (utf-8)

4.6.020以前のTCPDFを使われている場合は、最新バージョンにバージョン・アップするか、以下のパッチを適用すれば解消されます。
utf8_re_spaces.patch

改修点は「PHPによるpregでのUnicode変換が十分ではなかった(u指定が無いためキャラクタによっては正常に文字コード判定されない)」という点です。
更新履歴を参照下さい。

パッチ適用前のサンプル (PDF ソース PHP)
(nojimageさん感謝)。
VER 4.6.018 09.07.11
サンプル「examples012」が更新されています。
「Arrowメソッド」の追加に伴って、サンプルに矢印が掲載されました。
【変更前】(VER 4.6.017)は ⇒ サンプル012(PDF) | ソースPHP
VER 4.6.008 09.05.08
サンプル「examples014」が更新されています。
文言・フォントサイズなどのレイアウトを更新しています。
【変更前】(VER 4.6.007)は ⇒ サンプル014(PDF) | ソースPHP
VER 4.6.004 09.04.25
サンプル「examples044」が更新されています。
動的にページを削除するメソッド「deletePage()」を掲載しています。

【変更前】(VER 4.6.003)は ⇒ サンプル044(PDF) | ソースPHP
VER 4.5.043 09.04.16
サンプル「examples027(バーコード出力)」が更新されています。
example027は、「php-bcmathライブラリ」に依存するため、環境によっては、
          call undefined function bcadd() ...
          
のようなエラーが発生し実行できません。

当サイト「monzen.org」はRPM系のLinuxサーバーで運営しているため、下記のような手順で「php-bcmath」をセットアップします。

■ RPMパッケージをダウンロードする。
[root@monzen.org lib]# wget ftp://ftp.univie.ac.at/\ systems/linux/Mandrake/2007.0/i586/media/\ contrib/release/php-bcmath-5.1.6-1mdv2007.0.i586.rpm --21:08:32-- ftp://ftp.univie.ac.at/systems/linux/ Mandrake/2007.0/i586/media/contrib/release/php-bcma th-5.1.6-1mdv2007.0.i586.rpm => `php-bcmath-5.1.6-1mdv2007.0.i586.rpm' ftp.univie.ac.at をDNSに問いあわせています... 131.130 .1.72, 2001:62a:4:1::80:18 ftp.univie.ac.at|131.130.1.72|:21 に接続しています ... 接続しました。 anonymous としてログインしています... ログインしました! ==> SYST ... 完了しました。 ==> PWD ... 完了しました。 ==> TYPE I ... 完了しました。 ==> CWD /systems/linux/ Mandrake/2007.0/i586/media/contrib/release ... 完了しました。 ==> SIZE php-bcmath-5.1.6-1mdv2007.0.i586.rpm ... 18954 ==> PASV ... 完了しました。 ==> RETR php-bcmath-5.1 .6-1mdv2007.0.i586.rpm ... 完了しました。 長さ: 18954 (19K) 100%[====================>] 18,954 31.4K/s in 0.6s 21:08:37 (31.4 KB/s) - `php-bcmath-5.1.6-1mdv2007.0.i586.rpm' を保存しました [18954]
■ RPMパッケージをインストールする。
[root@monzen.org lib]# rpm -ivh \ php-bcmath-5.1.6-1mdv2007.0.i586.rpm 警告: php-bcmath-5.1.6-1mdv2007.0.i586.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 78d019f5 準備中... ################################### [100%] 1:php-bcmath ################################### [100%]
■ 「bcmathモジュール」を、PHP拡張モジュール用のディレクトリ(php.iniファイルのextension_dirで指定されているパス)に配置して httpd を再起動。
[root@monzen.org lib]# cp \ /usr/lib/php/extensions/bcmath.so \ /usr/lib/php/modules/ [root@monzen.org lib]# service httpd restart
「php-bcmathライブラリ」は「php-commonライブラリ」に依存するため、インストールされている「php-common」のバージョンに合わせる必要があります。
上記のような 5.1.6 以外のバージョンを含め、各種RPMは「RPM SEARCH」より取得できます。

【変更前】(VER 4.5.042)は ⇒ サンプル027(PDF) | ソースPHP
VER 4.5.033 09.03.28
サンプル「examples048」が更新されています。
HTMLの「td/thタグ」の属性「rowspan/colspan」がサポートされたため、サンプルが更新されました。
【変更前】(VER 4.5.032)は ⇒ サンプル048(PDF) | ソースPHP
VER 4.5.028 09.03.19
全サンプルが更新されています。
主に「PDF_FONT_MONOSPACED」の定義追加に伴って、SetDefaultMonospacedFontメソッドが追加されています。
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
  変更前
(VER 4.5.027)
変更後
(VER 4.5.028)
001 PDF PHP PDF PHP
002 PDF PHP PDF PHP
003 PDF PHP PDF PHP
004 PDF PHP PDF PHP
005 PDF PHP PDF PHP
006 PDF PHP PDF PHP
007 PDF PHP PDF PHP
008 PDF PHP PDF PHP
009 PDF PHP PDF PHP
010 PDF PHP PDF PHP
011 PDF PHP PDF PHP
012 PDF PHP PDF PHP
013 PDF PHP PDF PHP
014 PDF PHP PDF PHP
015 PDF PHP PDF PHP
016 PDF PHP PDF PHP
017 PDF PHP PDF PHP
018 PDF PHP PDF PHP
019 PDF PHP PDF PHP
020 PDF PHP PDF PHP
021 PDF PHP PDF PHP
022 PDF PHP PDF PHP
023 PDF PHP PDF PHP
024 PDF PHP PDF PHP
025 PDF PHP PDF PHP
026 PDF PHP PDF PHP
027 PDF PHP PDF PHP
028 PDF PHP PDF PHP
029 PDF PHP PDF PHP
030 PDF PHP PDF PHP
031 PDF PHP PDF PHP
032 PDF PHP PDF PHP
033 PDF PHP PDF PHP
034 PDF PHP PDF PHP
035 PDF PHP PDF PHP
036 PDF PHP PDF PHP
037 PDF PHP PDF PHP
038 PDF PHP PDF PHP
039 PDF PHP PDF PHP
040 PDF PHP PDF PHP
041 PDF PHP PDF PHP
042 PDF PHP PDF PHP
043 PDF PHP PDF PHP
044 PDF PHP PDF PHP
045 PDF PHP PDF PHP
046 PDF PHP PDF PHP
VER 4.5.003 09.01.20
任意のディレクトリにフォント・ファイルを配置する事ができるようになりました。
※これまでは以下のいずれかのディレクトリに配置しなければなりませんでした。
  • 「K_PATH_FONTS」で定義されるディレクトリ(通常は fonts)
  • カレント・ディレクトリ

フォントファイルを以下のように配置したとします。
# ls /var/www/html/myfonts/
ipag.ctg.z ipag.php ipag.z

test.phpを以下のように作成します。
<?php
...
...
$fn = '/var/www/html/myfonts/ipag';
$pdf->AddFont ('ipag', '', $fn); //パスを指定できる
$fnt = 'ipag';

$pdf->SetFont($fnt, '', 8);
$pdf->Write(4, 'ここに出力する文言・・・','',0,'',true);
...
...
?>
VER 4.5.002 09.01.08
サンプル「examples045」が更新されています。
 表示するチャプタ(章)の数が11までに増えています。
 また、目次欄のフォントを 'courier' に設定しています。
【変更前】(VER 4.5.001)は ⇒ サンプル045(PDF) | ソースPHP
VER 4.5.001 09.01.05
サンプル「examples023」が更新されています。
 TCPDFクラスの拡張クラス(MYPDF)で定義しているFooter()メソッドが自動的に呼び出されます。
【変更前】(VER 4.4.009)は ⇒ サンプル023(PDF) | ソースPHP
VER 4.5.000 09.01.03
■ 全てのサンプルが更新されています。
 それぞれの基本的な内容は変りませんが、
以下のようにTCPDFクラスのコンストラクタが更新されているため、各サンプルの呼出部分が更新されています。

また、AliasNbPages()呼出が使用されなくなりました。
//initialize document
$pdf->AliasNbPages();
VER 4.4.007 〜 4.4.008 08.12.29
■ 全てのサンプルが更新されています。
 それぞれの内容は変りませんが、
文字列定数のクォーテーションを「ダブル・クォーテーション括り」から
シングル・クォーテーション括り」に変更されています。

 またOutput指定が変更になっています。
$pdf->Output(..., "I", "I")
$pdf->Output(..., 'I')
■ サンプル001035には不具合があります。
 配布されているサンプルが、そのままでは動作しません。
そのため、上記サンプルでは以下のようにサンプルを改修しています。ご了承下さい。
$pdf->SetFont(('times' 'BI', 16));
$pdf->SetFont('times', 'BI', 16);
 【変更前】(VER 4.4.007)はそれぞれ以下のとおり。
  ・サンプル001(PDF) | ソースPHP
  ・サンプル035(PDF) | ソースPHP
 ※それぞれVER 4.4.009で改修されました。
VER 4.4.006 08.12.12
VER 4.4.006のアーカイブを解凍すると、ディレクトリ構成が変っており、
var/www/_OPENSOURCE/tcpdf
と展開されます。tcpdf以下のディレクトリはこれまでと同じ構成です。
VER 4.4.001 08.12.09
以下のフォント・ファイルが、再び配布物に含まれるようになりました。
  • helveticab.php / helveticabi.php / helveticai.php
  • timesb.php / timesbi.php / timesi.php
VER 4.4.001 08.12.09
サンプル「examples006」が更新されました。
HTMLの <pre>タグ を使ったサンプルが、最後のページに追加されています。
【変更前】(VER 4.4.000)は ⇒ サンプル006(PDF) | ソースPHP
VER 4.4.000 08.12.08
以下のフォント・ファイルが配布物に含まれていません。
  • courierb.php / courierbi.php / courieri.php
  • helveticab.php / helveticabi.php / helveticai.php
  • timesb.php / timesbi.php / timesi.php
また、フォントを自分で作成するためのツール「ttf2ufm」のLinuxモジュールが配布されています(そのため、Linux環境だけでフォントを変換できるようになりました)。
TCPDFで使えるフォントを自分で作成するを参照下さい。
VER 4.3.004 08.11.19
サンプル「examples036」が更新されました。
発音記号用の文言を吹き出しのテキストに埋め込んでいます。
... accented letters test: a`e`e'i`o`u`...
【変更前】(VER 4.3.003)は ⇒ サンプル036(PDF) | ソースPHP
VER 4.3.003 08.11.19
サンプル「examples023」が更新されました。
... $this->getGroupPageNo() ...
... $this->getGroupPageNoFormatted() ...

【変更前】(VER 4.3.002)は ⇒ サンプル023(PDF) | ソースPHP
VER 4.2.008 08.11.13
サンプル「examples018」が更新されました。
単語「Farsi」が「Percian」に変更されています。
【変更前】(VER 4.2.007)は ⇒ サンプル018(PDF) | ソースPHP
VER 4.2.007 〜 4.2.008 08.11.13
サンプル「examples」に含まれる「test_custom_list_indent.php」は、通常のサンプルとは異なります。TCPDF自体の挙動に影響を及ぼすものではありませんが、配布物に含まれているので、一応ここに掲載しておきます。
VER 4.2.005 08.11.07
サンプル「examples006」が更新されました。
006サンプルPDFの4ページ目に出力されるテスト・フォントが変更されています。
「arialunicid0」 -> 「dejavusans
【変更前】(VER 4.2.004)は ⇒ サンプル006(PDF) | ソースPHP
VER 4.2.000 08.10.30
サンプル「examples010」が更新されました。
RTL形式の書式に対応。
【変更前】(VER 4.1.004)は ⇒ サンプル010(PDF) | ソースPHP
VER 4.0.033 08.10.14
サンプル「examples」に含まれる「test20081013_fonts.php」は、通常のサンプルとは異なります。VER 4.0.033 のリリース上の問題だけであり、挙動に影響を及ぼすものではありませんが、配布物に含まれているので、一応ここに掲載しておきます。
TCPDFサンプルの更新履歴
TCPDFに付随する出力サンプルの更新履歴は「TCPDFリファレンスドキュメント・更新履歴のページ」に移動しました。
MONZEN.ORG/WAKU MONZEN.ORG/WAKU
アッセンブル