mpdf 文件 laravel 5.8 , 播放某些pdf文件而其他正常播放时出现错误 使用框架laravel执行

Posted

技术标签:

【中文标题】mpdf 文件 laravel 5.8 , 播放某些pdf文件而其他正常播放时出现错误 使用框架laravel执行【英文标题】:mpdf file laravel 5.8 , An error occurs when playing some pdf files while others are working fine Carry it out using the framework laravel 【发布时间】:2020-04-15 20:56:43 【问题描述】:

在播放某些 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】:

这是因为用于为 mPDF (FPDI) 导入 PDF 的库只能读取最高版本 1.4 的 PDF 规范。不支持高于此值的任何内容,并且会生成您记录的错误。

有一个用于 FPDI 的商业解析器,它完全支持阅读 PDF 规范的更高版本 - 1.5 到 1.7(最新) - 您可能会发现它很有用:https://www.setasign.com/products/fpdi-pdf-parser/details/

【讨论】:

以上是关于mpdf 文件 laravel 5.8 , 播放某些pdf文件而其他正常播放时出现错误 使用框架laravel执行的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.3 到 5.4 (mPdf - niklasravnsborg/laravel-pdf ) 升级问题

在 laravel 5.8 中导入 excel 文件后无法管理文件数据

从 Laravel 5.1 升级到 Laravel 5.8 后 whereHas() 变慢

laravel 5.8 在 getenv 上返回 false

Laravel 5.8多态关系`nullableMorphs`不起作用

如何在 Laravel 中使用 mPDF 从现有 PDF 将每个页面创建为 PDF