• ベストアンサー

PDF形式による文字修飾について

こんにちわ。 今、PHPにてPDF形式の帳票を動的に作成しているのですが、取り消し線を用いた形で文字を表示しようと思っています。 出力文字のフォントの設定とかは、pdf_set_font関数を用いておこないますが、その文字の文字修飾を行う方法がよくわかりません。どなたかご存知の方は、教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Sakamo
  • ベストアンサー率100% (2/2)
回答No.1

お使いのPHPのバージョンがわかりませんが、 PHP4でしたら文字の出力を行なう前に pdf_set_parameter($pdf, "strikeout", "true"); としてみるとどうでしょうか。 PHPマニュアルの pdf_set_parameter のページに(英語ですが)コメントとして書かれているのを見ると、"strikeout" の他に "overline", "underline" などもあるようです。

参考URL:
http://www.php.net/manual/ja/function.pdf-set-parameter.php
mars999
質問者

補足

ご回答たいへん、ありがとうございました。 pdf_set_parameterを用いていろいろためしてみたのですが、もうひとつお聞きしたいことがあります。 今、当PDFで使用しているフォントが、以下の2種類を用いています。   ・HeiseiKakuGo-W5   ・HeiseiMin-W3 です。 この場合、なぜか文字修飾されません。   ・Courier を使用した場合には、文字修飾されるのですが、文字化けしてしまします。   ・HeiseiKakuGo-W5   ・HeiseiMin-W3 の場合は、文字修飾は、無理なのでしょうか?

その他の回答 (1)

  • Sakamo
  • ベストアンサー率100% (2/2)
回答No.2

> 今、当PDFで使用しているフォントが、以下の > 2種類を用いています。 >   ・HeiseiKakuGo-W5 >   ・HeiseiMin-W3 > です。 > この場合、なぜか文字修飾されません。 >   ・Courier > を使用した場合には、文字修飾されるのですが、 > 文字化けしてしまします。 そうですね。 PDFlib 4.0.3 で試してみましたが、日本語フォントではできないように思います。 やるとすれば pdf_lineto() などで線を引くしかないでしょうか。 なおそのときに線の幅を pdf_stringwidth() で取得しようととしても日本語フォントだとダメで、文字数×フォントサイズとかで計算してやらないといけなかったりします。 ・Times-Roman ・Courier などの欧文フォントと ・HeiseiKakuGo-W5 ・HeiseiMin-W3 の日本語フォントは扱いが異なっているので、いろいろと制限があるようです。

mars999
質問者

お礼

ご返答ありがとうございました。 結局、線を引くやり方で作成することにしました。