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 dinámico al archivo pdf, por lo que no tengo que escribir el nombre apropiado para el informe cada vez que lo guardo.usando el encabezado() para reescribir el nombre de archivo en la URL para el pdf dinámico
Preguntar en un grupo de noticias, alguien sugirió este, donde filename="July Report.pdf"
es el nombre del informe previsto
<?
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 tanto
header('Content-disposition: inline; filename="July Report.pdf"');
y
header('Content-disposition: attachment; filename="July Report.pdf"');
(no al mismo tiempo) y no trabajan para mí. ¿Esto es un problema con mi servidor web? Por esta url, aquí está mi código:
<?
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();
?>
Si desea que el archivo se descargue (y no ampliable en el navegador), añadir los siguientes: encabezado ('Content-Transfer-Encoding: binary'); header ('Content-Type: application/force-download'); De lo contrario, aún debe incluir el encabezado de línea ('Content-Type: application/pdf') para que su navegador sepa cómo abrir el archivo. – eCaroth
Además, es posible que le falte la longitud del contenido del archivo; algunos navegadores abren los archivos correctamente sin esto y otros no. Para obtener esto, descargue todos los resultados en un buffer de salida, luego imprima los encabezados y especifique uno como 'Content-Length:' ** el strlen del buffer de salida *** – eCaroth
Comente temporalmente esas líneas de cabecera php y vea la salida . NO debe contener ningún error php. Aplique los encabezados después de corregir los errores si es así. –