0

laravel のディレクトリから既存の pdf を開く際に問題が発生しています。コードは純粋な PHP で完全に動作しますが、ブラウザで正しく表示されないため、laravel に取り込むと正しく動作しません。次のようになります。

%PDF-1.5 3 0 obj <> /Contents 4 0 R>> endobj 4 0 obj <> ストリーム x�}��NAE���1�E=��bq~�I�� ��= ... ..

コードは次のとおりです。

//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();

何が問題で、どのように解決するのでしょうか?

4

1 に答える 1

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'
        ]
    );
于 2015-05-03T09:23:37.420 に答える