PDFレポートを生成するphpスクリプトがあります。 pdfドキュメントを保存する場合、phpスクリプトの名前はreport_pdf.phpであるため、Acrobatが推奨するファイル名はreport_pdfです。 pdfファイルに動的に名前を付けたいので、レポートを保存するたびにレポートに適切な名前を入力する必要はありません。
ニュースグループで尋ねると、誰かがこれを提案しました。filename="July Report.pdf"
はレポートの意図した名前です
<?
header('Content-Type: application/pdf');
header('Content-disposition: filename="July Report.pdf"');
しかし、それは機能しません。私はそれを間違っていますか、それともまったく機能しますか?これはmod_rewriteの仕事ですか?
header('Content-disposition: inline; filename="July Report.pdf"');
そして
header('Content-disposition: attachment; filename="July Report.pdf"');
(同時にではありません)どちらも私のために働きません。これは私のWebホストの問題ですか?このために rl 、ここに私のコードがあります:
<?
header('Content-disposition: inline; filename="July Report.pdf"');
// requires the R&OS pdf class
require_once('class.ezpdf.php');
require_once('class.pdf.php');
// make a new pdf object
$pdf = new Cpdf();
// select the font
$pdf->selectFont('./fonts/Helvetica');
$pdf->addText(30,400,30,'Hello World');
$pdf->stream();
?>
試してください:
header('Content-Disposition: attachment; filename="July Report.pdf"');
または
header('Content-Disposition: inline; filename="July Report.pdf"');
別のオプションは、$_SERVER['PATH_INFO']
「July Report.pdf」を渡す-リンクの例は次のとおりです。
<a href="report_pdf.php/July%20Report.pdf?month=07">
このファイルはデフォルトで「July Report.pdf」として保存する必要があります。また、古いphpスクリプトとまったく同じように動作し、pdfへのリンクを生成するコードを変更するだけです。
する必要があります:
header('Content-disposition: attachment;filename="July Report.pdf"');
https://github.com/rospdf/pdf-php/raw/master/readme.pdf (ページ19)に基づくstream-methodは、パラメーターとして配列を受け入れます。
stream([array options])
出力に使用されます。これにより、必要なヘッダーが設定され、pdfコードが出力されます。 options配列を使用して、出力に関する多くのことを設定できます。_
'Content-Disposition'=>'filename'
_はファイル名を設定します...
このコードは私にとってうまく機能します
_$ezOutput = $pdf->ezStream(array("Content-Disposition"=>"YourFileName.pdf"));
_
私の場合、ezStream()
を使用していますが、stream()
は同じ結果になるはずです。
ブラウザのタイトルタブに表示される名前の場合
私は同じ問題を抱えていましたが、.pdf内にメタデータが欠落していることがわかりました。著者、タイトルなどのpdfプロパティを編集するためにツール( "debenu PDF tools")を使用しました。タイトルを空のフィールドから希望のタイトルに変更し、新しいPDFをアップロードします。そして今、同じコード、同じスクリプトで、ブラウザは正しい名前を表示します!
ドキュメントを保存するように要求するときの名前について
ヘッダーfilename =で指定するものです
ハイフンを使用してファイル名からスペースを削除しようとしましたか?そのため、その名前は次のようになっていると思います。 filename = July-Report.pdf