質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

1373閲覧

どのPC、どのツールで開いても文字化けをしないPDFファイルの作り方について

cat0138

総合スコア33

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2019/03/25 07:28

前提・実現したいこと

社内システムでPDFを生成する必要があり、
php5.5.9、cakephp2.4.10の環境に、
TCPDF+FPDIをインストールして実装をしています。

社内には60台ほどのPCがあり、
またクライアントにも提出をする資料にもなるため、
どのPCでも文字化けをせずに開くことを目標としています。

どうにか、どのPC、どのツールで開いても文字化けしないように、フォントの設定をする方法を教えていただけないでしょうか。

発生している問題・エラーメッセージ

TCPDFのデフォルトでインストールされているフォントが「小塚ゴシックPro M」だったので、
最初はこのフォントをインストールしてPDFを作成していたのですが、
PCによって表示がおかしくなってしまいます。

ですので、どのPCにもデフォルトで入っている
「游ゴシック」
で実装をしました。
フォントの追加方法は、下記の記事を参考にしております。
https://www.ilovex.co.jp/blog/system/php/php-tcpdf.html

これでどのPCでも文字化けすることなく表示ができるようになったのですが、
今度はそのPDFをイラストレーターで開くと文字の表示ができなくなってしまいました。

https://www.javadrive.jp/fpdf/text/index4.html
今は、上記のURLに記載のある「SetFont」という関数を使って、
游ゴシックを指定しています。

補足情報(FW/ツールのバージョンなど)

php5.5.9
cakephp2.4.10
TCPDF6.2.6
FPDI1.5.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

フォント・サブセットを埋め込んでしまえば表示できませんか?

【TCPDFでいつの間にか日本語のフォント・サブセットが使えるようになってた!! – 大阪のシステム開発・WEBシステム開発会社技術担当スタッフの覚書き、子だぬきの技術習得ノート】
https://www.okushin.co.jp/kodanuki_note/2015/06/tcpdf.html

投稿2019/03/25 07:31

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Stan_Dma

2019/03/25 13:25 編集

A PDF file with all fonts embedded should goes well in technical, but you must have known that all fonts you will use are permitted embedding. Or you would break the license.
kei344

2019/03/25 08:31

To: Stan_Dmaさん それを含めて回答されては?
Stan_Dma

2019/03/25 08:40 編集

Regarding you answering, my comment is for OP (original poster), not for you, kei344. Ok? I mean I agree with you.
cat0138

2019/03/26 00:21

ありがとうございます。 こちら試してみます!
guest

0

ベストアンサー

直接の回答ではありません。
懸念事項です。

php5.5.9、cakephp2.4.10

社内とはいえ、非常に古くサポートさえ終わっているバージョン(特にPHP)を利用している状態で
「どのPC、どのツールで」を望むのはかなり危険ではないでしょうか。

確かにPDF自体はフロント側の仕組みではありますが、ファイル自体はプログラムで作られるわけですよね?
ということはそもそもが「全てのツールで」というのは難しいはずです。
元々PHPはファイル操作は苦手な言語ですし「できる・できない」がハッキリしています。
(Excelを扱えるPhpSpreadsheetは最たる例です)

どこかを切り捨てる必要があるように思います。

投稿2019/03/25 07:41

m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cat0138

2019/03/26 00:20

ありがとうございます。 例えば動作が重いなど、支障は多々あるので、近々バージョンアップ作業もしたいと考えております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問