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

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

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

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

PHP

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

Q&A

1回答

11627閲覧

TCPDF 日本語のファイル名で保存

Clementine

総合スコア157

PDF

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

PHP

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

0グッド

1クリップ

投稿2016/07/26 02:13

php

1// ...省略 2 3$name = '名無し'; 4$filename = 'ご請求書-' . $name . '様'; 5$pdf->Output($filename .'.pdf', 'D'); 6exit;

上記のプログラムを実行すると、

-.pdf

というファイルが出力されてしまいます。

これの改善方法について情報がありましたらご教授の程お願い致します。

尚、文字コードはUTF-8になります。

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

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

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

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

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

guest

回答1

0

php

1<?php 2 3/** 4 * test.php 5 * 6 * @since 2016/07/26 7 */ 8// エラー表示 9ini_set('display_errors', 1); 10error_reporting(E_ALL); 11 12require_once 'tcpdf/tcpdf.php'; 13 14$pdf = new TCPDF(); 15 16$name = '日本語.pdf'; 17 18// ファイル名をマルチバイトに設定すると、TCPDFがファイル名を強制的に置き換えてしまう。 19// @see http://www.tailtension.com/cakephp/510/ 20$string = $pdf->Output($name, 'S'); 21 22// browscap を利用する 23// @see http://php.net/manual/ja/function.get-browser.php 24// browscap.ini が存在しないときは、取得する 25if (empty(ini_get('browscap'))) { 26 if (!file_exists('browscap.ini')) { 27 $url = 'https://browscap.org/stream?q=Lite_PHP_BrowsCapINI'; 28 $contents = file_get_contents($url); 29 file_put_contents('browscap.ini', $contents); 30 } 31 ini_set('browscap', 'browscap.ini'); 32} 33$browser = get_browser(); 34 35// クライアントがWindowsの時はファイル名を SJIS-WIN に変換する 36if (preg_match("/win/i", $browser->platform)) { 37 $name = mb_convert_encoding($name, 'SJIS-WIN', 'UTF-8'); 38} 39 40header("Pragma: public"); 41header("Expires: 0"); 42header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 43header("Content-Transfer-Encoding: binary "); 44header('Content-Type: application/octet-streams'); 45header("Content-Disposition: attachment; filename=\"{$name}\""); 46echo $string; 47exit;

投稿2016/07/26 02:41

編集2016/07/26 03:08
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問