2015-05-03 9 views
0

У меня возникли проблемы с открытием существующего pdf-файла из каталога в laravel. Код отлично работает с чистым PHP, но его использование в laravel не работает должным образом, потому что оно не отображается правильно в браузере, оно выглядит так:Ошибка открытия pdf laravel (неправильно отображается в браузере)

% PDF-1.5 3 0 obj <>/Содержание 4 0 R> > endobj 4 0 объект <> поток х} NAE1E = Бк = ~ Я .....

код следующим образом:

//eval_pdf.blade.php 

File::requireOnce('fpdf.php'); 
File::requireOnce('fpdi.php'); 
$pdf = new FPDI('P','mm','Letter'); 
$pdf->AddPage(); 
$pdf->SetAutoPageBreak(true,10); 
$sourceFileName = app_path().'/include/formato.pdf'; 
$pdf->setSourceFile($sourceFileName); 
$tplIdx = $pdf->importPage(1); 
$pdf->useTemplate($tplIdx); 
$pdf->SetFont('helvetica','B',8); 
. 
. 
. 
$pdf->SetXY(86, 21); 
$pdf->Write(0, utf8_decode($comp)); 
. 
. 
. 
$pdf->Output(); 

В чем может быть проблема и как ее решить?

+0

Вывод выглядит так, как будто браузер не понимает, что это PDF-файл. Вы отправляете правильный тип mime? – Snicksie

+0

фактически нет; Я отправляю данные из формы, просто У меня есть .. в routes.php Route :: post ('/ evaluationacion_PDF' 'HomeController @ evaluationacion_pdf') и мой контроллер valuacion_pdf public function() { View :: make return ('frontend.evaluacion_pdf'); } – D3vilRemix

+0

Я бы не знал, где добавить формат pdf mime, если вы можете мне немного порекомендовать, это очень понравится – D3vilRemix

ответ

1

Вы должны использовать что-то вроде этого:

вместо $pdf->Output();

использование:

$pdfContent = $pdf->Output('', "S"); 

, чтобы сохранить содержимое в строку

, а затем вернуть ответ, например:

return response($pdfContent, 200, 
     [ 
      'Content-Type'  => 'application/pdf', 
      'Content-Length'  => strlen($pdfContent), 
      'Content-Disposition' => 'attachment; filename="mypdf.pdf"', 
      'Cache-Control'  => 'private, max-age=0, must-revalidate', 
      'Pragma'    => 'public' 
     ] 
    ); 
+0

woooow большое спасибо, это отлично сработало для меня – D3vilRemix