Tengo un problema al leer el archivo pdf en Chrome utilizando PHP.Chrome tiene el mensaje de error "No se pudo cargar el documento PDF" en archivos PDF en línea
El código siguiente es cómo lo hago en PHP
$path = "actually file path";
header("Pragma: public");
header("Expires: 0");
header("Content-type: $content_type");
header('Cache-Control: private', FALSE);
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-Disposition: inline; filename=\"$filename\"");
header('Content-Transfer-Encoding: binary');
header('Content-Length' . filesize($path));
ob_clean();
flush();
readfile($path);
En aquí, me puse el Content-Disposición de línea. Porque quiero mostrar el archivo pdf si el navegador del usuario tiene un plugin de visor de pdf incorporado. Como sabrá, Chrome tiene un visor de pdf incorporado.
El problema es que tengo un montón de archivos pdf en el servidor. Solo Chrome puede ver algunos de ellos. No puedo entender por qué otros no pueden trabajar de la misma manera. He verificado el permiso de cada archivo. Parece que no es el problema del permiso.
¿Alguien sabe cuál es el problema? Gracias.
Cambiar para forzar una descarga (Content-disposition: attachment/Content-type: application/octet-stream), descargar/guardar la buena PDF y un mal pdf, y para comparar lo que se guardó en lo que hay en el servidor. –
@Marc Intento eso. Ambos se pueden descargar y se ven iguales. También comparo eso con el archivo en el servidor. Ellos son lo mismo. Cuando vuelvo a la disposición de contenido: en línea. Simplemente no funciona. :(Incluso comparo el encabezado de respuesta. Son los mismos. – easycoder
¿Qué sucede si intenta ver uno directamente en lugar de ir a través de su script? –