Tag:PDF ( 4 Posts)

IPAmj明朝フォントでスペースが文字になるとき(TCPDFでPDF出力時)

戸籍統一文字などに含まれる6万字の漢字を収録したフリーのフォントIPAmj明朝フォント
ありがたく使わせていただいております。
これがフリーで使えるなんて、本当にすごいことです。

TCPDFにこのフォントを追加し、氏名を出力した際に姓と名の間に「全角スペース」を入れていたのですが、それがほかの文字に置き変わってPDF出力されてしまいました。

例えばこのような感じです。
大阪 太郎 様⇒大阪の太郎の様、大阪ー太郎ー様

解決策は単純でした。
全角スペースを半角スペースにするだけで、正常にスペースとして出力されました。

それだけ!

TCPDFでMulticellの正確な行数を取得する方法

久しぶりにはまりました。
TCPDFを使ってPDFを出力する際に、複数のMulticellの高さを合わせるために、
各セルの行数から最大値を取得したかったのですが、
TCPDFで用意されていたgetNumLines()getStringHeight()を使ってセルの行数や高さを取得すると何故か数値が安定せず。
どうやら改行を含むと正しく数値が取得できないようです。

どうしたものかとググって解決策見つけました!
ありがたやありがたや。
READ MORE

PDF出力にTCPDFを使う。

らPDFの出力にFPDFとMBFPDFというライブラリを利用していたが、
出力するデータの文字コードをShift-JISに変換する必要があって(UTF-8環境)、
JIS第3水準・第4水準あたりの漢字が出力できなかった。

で、人名の出力に利用していたので、困ったなということになって・・・、
UTF-8でPDFを出力できるライブラリがありました。
READ MORE

FPDFで使用するフォントを追加

PHPからPDFファイルを作成するための無料ライブラリFPDFで、
使用するフォントを追加するためのメモ。(日本語対応:MBFPDF使用)

今回は郵便振替の用紙を出力に必要だったのでOCRBフォントを追加する。

●フォントファイルを探す。(OCRB.TTF)

●TTFフォントからafmファイルを生成する。
(ttf2pt1.exeが必要です。ない場合は、下記手順でダウンロードできます。)
  1. FPDFのScriptのページから、Yann Sugereさんの「AddFont」をZIPでダウンロードして、解凍。
  2. Cドライブ直下とか、分かりやすいところ「addfont」フォルダをコピー
  3. addfontフォルダ内にフォントファイルをコピー
  4. コマンドプロンプトを起動して、addfontに移動(cd C:\addfont)
  5. ttf2pt1.exeを実行(ttf2pt1 -b OCRB.TTF OCRB)
  6. これでaddfont内にOCRB.afmが生成される。
●フォントを追加。定義ファイル(mbfpdf.php)を更新する。
(ローカルでPHPが動けばローカルで、PHPがなければサーバーにアップロードして、コマンドを実行。)
  1. fpdf/font/makefontにOCRB.afmをコピー
  2. mkttfdef.phpの13行目を変更($work = "OCRB.afm";)
  3. mkttfdef.phpを実行(php mkttfdef.php)
  4. fpdf/mbfpdf.phpにフォント名を追加(DEFINE("OCRB","OCRB");)
無事、OCRBフォントを追加して使用することができました。

FPDFを導入する際、参考にさせて頂きました。 こちらの記事も気になります。