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