I have a php script that generates a pdf report. When we go to save the pdf document, the filename that Acrobat suggests is report_pdf, since the php script is named report_pdf.php. I would like to dynamically name the pdf file, so I don’t have to type the appropriate name for the report each time that I save it.
Asking on a news group, someone suggested this, where
filename="July Report.pdf" is the intended name of the report
<? header('Content-Type: application/pdf'); header('Content-disposition: filename="July Report.pdf"');
But it doesn’t work. Am I doing it wrong, or will this work at all? Is this a job for mod_rewrite?
So I’ve tried both
header('Content-disposition: inline; filename="July Report.pdf"');
header('Content-disposition: attachment; filename="July Report.pdf"');
( not at the same time ) and neither work for me. Is this a problem with my web host? For this url, here’s my code:
<? 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"');
Another option would be to use the
$_SERVER['PATH_INFO'] to pass your “July Report.pdf” – an example link might be:
That file should default to saving as “July Report.pdf” – and should behave exactly like your old php script did, just change the code that produces the link to the pdf.
header('Content-disposition: attachment;filename="July Report.pdf"');
Based on https://github.com/rospdf/pdf-php/raw/master/readme.pdf (Page 19)
The stream-method accepts an array as parameter:
Used for output, this will set the required headers and output the pdf code.
The options array can be used to set a number of things about the output:
'Content-Disposition'=>'filename'sets the filename, …
This code works well for me
$ezOutput = $pdf->ezStream(array("Content-Disposition"=>"YourFileName.pdf"));
In my case I use
ezStream() but I think
stream() should give the same result.
For the name shown on the title tab in the browser
I had the same problem, then i found that it’s metadata missing inside my .pdf.
I used a tools (“debenu PDF tools”) for edit pdf property like author, title, etc…
I just change title from empty field to what title I want, upload the new pdf and now, with same code, same script the browser show the right name!
For the name when u ask to save document
is what u specify in header filename=
Did you try to remove spaces from file name using hyphens? So, I think its name must be like this; filename=July-Report.pdf