utilizando header () para reescribir el nombre de archivo en URL para pdf dynamic

Tengo un script php que genera un informe en pdf. Cuando vamos a guardar el documento pdf, el nombre de archivo que Acrobat sugiere es report_pdf, ya que el script php se llama report_pdf.php. Me gustaría asignar un nombre dynamic al archivo pdf, por lo que no tengo que escribir el nombre apropiado para el informe cada vez que lo guardo.

Preguntando sobre un grupo de noticias, alguien sugirió esto, donde filename="July Report.pdf" es el nombre del informe

 <? header('Content-Type: application/pdf'); header('Content-disposition: filename="July Report.pdf"'); 

Pero no funciona. ¿Lo estoy haciendo mal, o funcionará esto? ¿Es este un trabajo para mod_rewrite?


Así que he intentado ambos

 header('Content-disposition: inline; filename="July Report.pdf"'); 

y

 header('Content-disposition: attachment; filename="July Report.pdf"'); 

(no al mismo tiempo) y tampoco funcionan para mí. ¿Esto es un problema con mi servidor web? Para esta url , aquí está mi código:

 selectFont('./fonts/Helvetica'); $pdf->addText(30,400,30,'Hello World'); $pdf->stream(); ?> 

    Tratar:

     header('Content-Disposition: attachment; filename="July Report.pdf"'); 

    o

     header('Content-Disposition: inline; filename="July Report.pdf"'); 

    Otra opción sería usar $_SERVER['PATH_INFO'] para aprobar su ‘July Report.pdf’ – un ejemplo de enlace podría ser:

      

    Ese archivo debe guardarse como “Informe de julio.pdf” de manera predeterminada, y debe comportarse exactamente como lo hizo su antiguo script php, simplemente cambie el código que produce el enlace al pdf.

    Debiera ser:

     header('Content-disposition: attachment;filename="July Report.pdf"'); 

    Basado en https://github.com/rospdf/pdf-php/raw/master/readme.pdf (Página 19) El método stream acepta una matriz como parámetro:

    stream([array options]) Utilizado para la salida, esto configurará los encabezados necesarios y generará el código pdf. El conjunto de opciones se puede usar para establecer varias cosas sobre el resultado:

    'Content-Disposition'=>'filename' establece el nombre del archivo, …

    Este código funciona bien para mí

     $ezOutput = $pdf->ezStream(array("Content-Disposition"=>"YourFileName.pdf")); 

    En mi caso, uso ezStream() pero creo que stream() debería dar el mismo resultado.

    Para el nombre que se muestra en la pestaña del título en el navegador

    Tuve el mismo problema, luego descubrí que faltaban metadatos dentro de mi .pdf. Utilicé herramientas (“herramientas PDF de debenu”) para editar propiedades de PDF como autor, título, etc. Cambié el título del campo vacío al título que quisiera, cargué el nuevo pdf y ahora, con el mismo código, el mismo script ¡el navegador muestra el nombre correcto!

    Para el nombre cuando pides guardar el documento

    es lo que especificas en el encabezado filename =

    ¿Intentó eliminar espacios del nombre del archivo con guiones? Entonces, creo que su nombre debe ser así; filename = July-Report.pdf