mpdf файл laravel 5.8, возникает ошибка при воспроизведении некоторых PDF-файлов, в то время как другие работают нормально. Выполните это с помощью фреймворка laravel - PullRequest
0 голосов
/ 15 апреля 2020

Произошла ошибка при воспроизведении некоторых файлов PDF, в то время как другие работают нормально. Выполните это с помощью фреймворка laravel ошибка:

setasign \ Fpdi \ PdfParser \ CrossReference \ CrossReferenceException (267) Этот документ PDF, вероятно, использует технику сжатия, которая не поддерживается бесплатным анализатором, поставляемым с FPDI. (Подробнее см. https://www.setasign.com/fpdi-pdf-parser)

use Mpdf\Mpdf;

use App\Sort_table;
use Illuminate\Support\Facades\Storage;
use \Illuminate\Filesystem\Filesystem ;

class PDFController extends Controller{
public  function showFilepdf($file){





  $path= storage_path("app\public\upload\\".$file->textPDF);

  //$numberpage=$request->input("numberpage");
  $numberpage=1;

       // $pdfid =pdf::find($id);

        // create a log channel
        $logger = new Logger('name');
        $logger->pushHandler(new StreamHandler('your.log', Logger::DEBUG));

        $pdf = new Mpdf(['tempDir' => __DIR__ . '/mytemp'] ,['mode' => 'utf-8', 'format' => 'A4-L']);
     $pdf->SetDirectionality('rtl');

       // $mpdf->setLogger($logger);

     $pdf->SetDocTemplate($path,false);

      $i=0;
       while($i<=1000){

        $pdf->AddPage('L','A','L','L','L',50,50,50,50,10,10);
       $i++;
       }
       $pdf->WriteHTML('Hello World');

        // Subsequent pages from logoheader.pdf will be inserted on all subsequent pages


          //Make sure path exists
          if (!file_exists($path)) {
              mkdir($path, 0777);
          }

           $pdf->Output();





}

}

1 Ответ

0 голосов
/ 16 апреля 2020

Это связано с тем, что библиотека, используемая для импорта PDF-файлов для mPDF ( FPDI ), может считывать только до версии 1.4 спецификации PDF. Все, что выше этого, не поддерживается и приведет к ошибке, которую вы заметили.

Существует коммерческий синтаксический анализатор для FPDI, который включает полную поддержку чтения более поздней версии спецификации PDF - от 1,5 до 1,7 (последняя) - что может оказаться полезным: https://www.setasign.com/products/fpdi-pdf-parser/details/

...