人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php TFPDF でファイルを生成しているのですが、
フォントを埋め込まない方法を教えて下さい。

サブセットも埋め込みたくないと考えています。

TCPDF ではなく、TFPDF です。

これと同じ様な事は出来ないでしょうか。
$pdf->setFontSubsetting(false);

宜しくお願いします。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント

tFPDF is a version of FPDF, which supports UTF-8 and font-subsetting.

GitHub - rev42/tfpdf: tFPDF is a version of FPDF, which supports UTF-8 and font-subsetting.

とあります。
そもそも tFPDF には、「フォント埋め込みをしない」という機能が無いと思いますので、tFPDF を使うならソースをいじるしかないと思います。

https://github.com/rev42/tfpdf/blob/master/src/tFPDF.php
ソースを見てみると、FPDF の 1.7 を改変したらしいことが分かります。

ベースとなった FPDF の最新は、1.81 (実質 1.8.1) らしいのですが、1.7 のソースと比較すると UTF-8 とフォント埋め込みに対応するために追加・変更したことが分かります。

ざっとソースをながめただけですが、

# 行番号は tFPDF 1.24 に基づきます

TCPDF のソースも軽くながめてみたんですが、setFontSubsetting(false) をしても、PDF の Font オブジェクトを全く埋め込まない、というわけではなさそうなので、FPDF → tFPDF で追加されたコードのうち、フォント埋め込みの処理だけを削っちゃうのが良いんじゃないかな、という気がします。

# 試してなくて済みません


もしかして、ここから tFPDF にたどりついたんでしょうか。
http://qiita.com/y_irabu/items/23e67ad92e19256cde4e

でなければ、UTF-8 対応が必要ないなら FPDF + japanese.php で、というのもあるかと思ったのですが。


worldtravelさんのコメント
ありがとうございます。 教えて頂いた通り試したのですが、 どちらも、文字が何も表示しなくなってしまいました。 UTF-8 は使いたいのです。 また、fontのライセンスに関して、万一にも問題にはしたくないのです。 ですので、サブセットも含め、一切埋め込みはしたくないのです。 日本語や英語のpdfを作る際は mbfpdf.php を使っており、全く埋め込みはなしで出来ました。 しかし、他の言語(中国語、タイ語など)は mbfpdf.php では無理なようでしたので、 tFPDFを使いました。 ところが、出来上がったファイルをチェックしたら フォントが埋め込まれている事に気がついたのです。

worldtravelさんのコメント
こちらを解決するのは難しそうなので、 フォントでの解決を試みます。 ライセンスの質問を出したので、 もしご存知でしたら、教えて頂ければ幸いです。 ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ