• ベストアンサー

TCPDFでPDFをサーバー内に保存

お世話になります。 現在、TCPDFでPDF書き出しのテストを行っています。 下記のコードを入れてブラウザでの表示は出来ましたが、 $pdf->Output("test.pdf", "I"); サーバー内に保存するにはどうすれば良いでしょうか? よろしくお願いいたします。

  • PHP
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5086/13296)
回答No.1

$pdf->Output("test.pdf", "F"); Outputメソッドの2番目の引数が出力先の指定になります。 I はインライン出力で、直接ブラウザに返されます。 F はファイル出力で、TCPDFを実行している環境のローカルファイルとして保存されます。 他にも幾つか出力方法があるのでマニュアルを読んで下さい。 http://www.tcpdf.org/doc/code/classTCPDF.html#a3d6dcb62298ec9d42e9125ee2f5b23a1

5620246
質問者

補足

ありがとうございます。 試しに「$pdf->Output("test.pdf", "F");」入れてみましたが、 以下のエラー出てしまいました。 Warning: fopen() [function.fopen]: remote host file access not supported, file://test.pdf in /home/~~/tcpdf/include/tcpdf_static.php on line 2440 Warning: fopen(file://test.pdf) [function.fopen]: failed to open stream: no suitable wrapper could be found in /home/~~/tcpdf/include/tcpdf_static.php on line 2440 TCPDF ERROR: Unable to create output file: test.pdf なにが悪いのでしょうか?よろしくお願いします。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5086/13296)
回答No.2

> なにが悪いのでしょうか?よろしくお願いします。 保存しようとしたディレクトリに、プログラムを実行しているユーザーの書き込み権限が無かったんじゃないでしょうか。

5620246
質問者

お礼

t_ohta 様 お忙しい中、ご回答ありがとうございました。 下記のとおり絶対パスの指定にしたところ動作しました。 $pdf->Output('/home/~~/tcpdf/test/newpdf.pdf', 'f'); 大変お手数をおかけいたしました。 またお世話になりありがとうございました。

関連するQ&A

  • TCPDFからのPDFのファイル名

    TCPDFからのPDFのファイル名に日付の表記を付加(作成されるPDFの名前をすべて異なる名前)したいのですが、 以下のとおり「$the_time() 」を追加した場合だとエラーになってしまいました。 $pdf->Output($the_time() .'/home/~~/tcpdf/test/newpdf.pdf', 'f'); どのようにすればよいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPでPDF表示した時のファイル名

    分かる方がいれば教えて下さい。 PHPでTCPDFを使用して、PDF表示を下記のように行っています。 require_once ("tcpdf/tcpdf.php"); $pdf = new TCPDF("L", "mm", "A4", true, "UTF-8" ); $pdf->setPrintHeader(false); $pdf->setPrintFooter(true); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetFont('kozgopromedium', '', 10); $pdf->AddPage(); $pdf->SetFont('kozgopromedium', '', 20); //フォントをIPA Pゴシック $pdf->SetMargins(10, 10, true); $pdf->Write(10,[PDF表示内容], "", false, 'C', true, 0, false, 0, ""); $pdf->SetFont('kozgopromedium', '', 10); $pdf->writeHTML($css . str_replace("caption","h1",$i), true, 0, true, false,'C'); $pdf->Output("test.pdf", "I"); PDFの作成(表示)は正常に出来るのですが、PDFのファイル名が指定した”test.pdf”にならずに PHPファイル名になってしまいます。 ※このソースが書かれているPHPファイル名が”CreatePdf.php”だとすると、PDFファイル名が  ”CreatePdf.pdf”になってしまいます。 いろいろと調べたのですが、原因が分からないのでご質問しました。 PHP Version:5.4.7 TCPDF Version: 5.9.205 宜しくお願いします。

    • ベストアンサー
    • PHP
  • FPDF・TCPDFでの画面端のテキスト表示の件

    PHPでPDFを作成しようと、FPDFやTCPDFを使って 作業をしている際に問題が起きたため、質問させて頂きます。 TCPDFを用いて下記のようなコードを実行したところ、 文字が画面内に収まらず、A4の2枚目の上端に テキストが表示されてしまいました。 つまり、画面からはみ出した状態になってしまった訳です。 --------------------------------------------------------------------------------- <?php require_once 'tcpdf.php'; $pdf = new TCPDF("L", "mm", "A4", true, "UTF-8" ); $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); $pdf->SetMargins(0, 0, 0); $pdf->AddPage(); $pdf->SetFont('kozminproregular', '', 12); $pdf->Text(0, 190, "ほげほげ" ); $pdf->Output("test.pdf", "I"); ?> --------------------------------------------------------------------------------- A4(横)は、297mm×210mmですから、 文字の表示を指定した高さからは、2cmの 余裕があるかと思います。 ですので、画面内に表示してもらいたいところなのですが、 これは私のコードがおかしいからなのでしょうか? なお、同様の現象は、FPDFでも確認しております。 何かご存知の方は、ご教示いただけば幸いです。 お手数をお掛けしますが、どうぞ、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • TCPDFの多言語について

    TCPDFの多言語の出力につてご質問です。 フォームのテキストエリアの内容をPDFとして出力したいのですが、テキストエリアに日本語、英語、タイ語、ベトナム語が入る想定です。 下記は試したソース・結果になります。どのようにすれば良いのか解らずこまっております。 解る方いましたらご回答お願い致します。 ■ソース1 $pdf->SetFont('ipag'); $pdf->MultiCell(100,100,'テストTestทดสอบkiểm tra',0,'L',0,1,0,0,false,0,true,false,false); ■結果1 テストTest◩◩◩◩ki◩mtra ■ソース2 $pdf->SetFont('dejavusans'); $pdf->MultiCell(100,100,'テストTestทดสอบkiểm tra',0,'L',0,1,0,0,false,0,true,false,false); ■結果2 ◩◩◩Test◩◩◩◩kiểm tra ■ソース3 $pdf->SetFont('thsarabun'); $pdf->MultiCell(100,100,'テストTestทดสอบkiểm tra',0,'L',0,1,0,0,false,0,true,false,false); ■結果3 ◩◩◩Testทดสอบkiểmtra

    • 締切済み
    • PHP
  • サーバー上のファイルをブラウザからダウンロード

    お世話になります。 サーバ上のファイルをブラウザからダウンロードさせるため、下記のようなコードを書いています。 // ダウンロードさせる元ファイル $source = '/home/hogehogel/output.csv'; // 保存時のファイル名(デフォルト) $filename = 'csv_output.csv'; // HTTPヘッダ送信 header("Content-type: application/csv"); header("Content-Disposition: attachment; filename=\"{$filename}\""); // ファイルを読み込んで出力 readfile($source); しかし、ダイアログボックスが表示されず、画面上にデータが表示されてしまいます。 いろいろなサイトや書籍等のコードを真似してもダメでした。 サーバはさくらのスタンダードを使っています。 原因として何が考えられるでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • イラストレーターでのPDF保存について。

    イラストレーターでのPDF保存について。 WINDOWSXPで、イラストレーター10をしようしています。 1つのPDFデータの中に、A3の画像を2枚、ページ分割させて保存したいのですが、 イラストレーターで作ったデータを「別名から保存」でPDF書き出しをすると、 1ページに全て納まって表示されてしまいます。。 アクロバットや他のPDFソフトが無い為、イラストレーターのみで、 ページ分割させたPDFを作るたいのですが、できないでしょうか・・・・ 方法がありましたら、どうか教えてください!!

  • FPDFでPDFファイルが表示されない

    こんにちは。 FPDF+Japanese.php+FPDIを使用して、既存のPDFファイルに 日本語を追加してブラウザ上で表示させようとしています。 コードを記述して、自分のPCのローカル上で動作確認をするとしっかり表示されました。 そして、レンタルしているサーバー上にアップして、確認をするとうまく表示されませんでした。 どこが悪いのかわからないので、とりあえず、コードをよりシンプルにして、 「既存のファイルに」というところはまずは省いて、単純にPDFファイルを作成して、 表示させようとしてみましたが、同じくうまくいきません。 その後、ネットでいろいろ検索したのですが、解決には至りません。 どなたか助けて下さい。 <ソースコード:文字コードはUTF-8です> <?php require('../php/fpdf/japanese.php'); $pdf=new PDF_Japanese(); $pdf->AddSJISFont(); $pdf->Open(); $pdf->AddPage(); $pdf->SetFont('SJIS', '', 20); $txt = mb_convert_encoding("こんにちはFPDF", "SJIS", "UTF8"); $pdf->Write(10, $txt); $pdf->Output(); ?> <環境> 自宅: Windows Vista Apache 2.0 PHP Version 5.2.6 レンタルサーバー: Linux Apache PHP Version 5.2.5 <レンタルサーバー上での表示> %PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream x・R鞨2ミ35W(輦 Qミw3T02ミ30P ISp ・Z*麓 ・・└(h4ml晴tイiモYキ <やってみたこと> 的外れなことをやってるかもしれないので、恥ずかしいのですが… ・「session.auto_start = 0」「mbstring.func_overload = 0」と記述したphp.iniをサーバー上にアップしてみた。 ・ソースコードに「mb_internal_encoding('EUC-JP');」を追加して、保存時にもEUCで保存してみた。 ・FPDF.php内のOutput関数内に「Header('Pragma:');」を追加したり、「header("Cache-Control: public");」を追加してみたりした。

    • ベストアンサー
    • PHP
  • PDFファイルについて

    お世話になっています。 最近PDFファイルを開こうとするとブラウザで開けず、 保存することの表示が出るのですが、どうなんでしょう? これでいいの? よろしくお願いします。

  • Win Live MailをPDF保存する方法

    お世話になります。 Windows Live Mailで受信したメールをPDF保存する方法を教えて下さい。 書き出し等ができますでしょうか? 当方Windows 7です。

  • Webサーバに設置したpdfファイルへのアクセスについて

    Webサーバに設置したpdfファイルへのアクセスについて 自社サイト「http://aaa.com/test」にアクセスしたとろ、勝手にtest.pdfのファイルが開きました。実際には「http://aaa.com/test.pdf」のファイルが開いたのですが、これはブラウザの機能でしょうか?