PHPを使い、PDFファイルを指定したフォルダに作成したいと考えています。
その場合、TCPDFを使ってPDFページを作り
PHP
1$tcpdf->Output('output.pdf', 'F');
とすればいいようですが、何を試しても
TCPDF ERROR: Unable to create output file: output.txt
とエラーが出てしまいます。
PHP
1$tcpdf->Output('output.pdf', 'I');
PHP
1$tcpdf->Output('output.pdf', 'D');
としたときにはきちんと画面表示、ダウンロードができます。
PHPでダウンロードの完了を感知してファイルを移動させることができればそれでもいいのですが、そのやり方もわかりません。
どこが間違っていると思われますか?
どうすればPDFファイルを作成できるでしょうか?
試したこと
TCPDF_STATICファイルのメソッドfopenLocalのリターン部分以外をコメントアウトする
PHP
1 public static function fopenLocal($filename, $mode) { 2 /* 3 if (strpos($filename, '://') === false) { 4 $filename = 'file://'.$filename; 5 } elseif (stream_is_local($filename) !== true) { 6 return false; 7 } 8 */ 9 10 return fopen($filename, $mode); 11 } 12
アウトプットの前にod_cleanをする
PHP
1 if(ob_clean()){ 2 }else{ 3 echo "失敗"; 4 } 5 6 $tcpdf->Output('output.pdf', 'F'); // pdf表示設定 7
フォルダパスをフルパスにする
PHP
1 if(ob_clean()){ 2 }else{ 3 echo "失敗"; 4 } 5 6 $tcpdf->Output(__DIR__ . '/output.pdf', 'F'); // pdf表示設定 7
バージョン
TCPDFのバージョンは6.6.5です。
プログラムの全体図を置いておきます
PHP
1 require_once("./test/tcpdf/tcpdf.php"); 2 3 $tcpdf = new TCPDF(); 4 $tcpdf->AddPage('L',A5); // 横書き、A5サイズの新しいpdfページを追加 5 6 $tcpdf->SetFont("kozgopromedium", "", 10); // デフォルトで用意されている日本語フォント 7 8 $tcpdf->text(10,10,'test',false,false,true,1,0,'C',false,'',0,false,'T','M',false); 9 10 if(ob_clean()){ 11 }else{ 12 echo "失敗"; 13 } 14 15 $tcpdf->Output('output.pdf', 'F'); // pdf表示設定 16
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/11/15 00:32 編集