PdfParser关于Secured pdf file are currently not supported的解决方案

方滴云WEB2022-12-29 15:51

项目背景

这是一个做文件打印的项目,因为打印是根据文件的页数来算价格的,所以我们要在用户上传完成后获取文件的页数。因为是PHP项目,我们这里选用的是PdfParser来完成这个操作。

问题描述

实际运营中,总会出现个别文件上传进度100%,但是界面一直转圈圈,经分析发现是在获取PDF文件页数环节出了问题,报错如下:Secured pdf file are currently not supported。

解决过程

俗话说,站在巨人肩膀上可以看的更远。所以,遇到问题,当然是全网一顿猛搜。确实遇到有个别难兄难弟遇到了我这个问题,但是没有解决方案。

问题弄清楚了,就好说,大概意思是说因为这个文件有某些权限限制,所以抛出了异常。但是,我们仅仅只是要个页码而已,所以异常是不是也要分情况呢,最后我们找到抛出异常的地方对它进行了处理,我们是2.2版本,报错文件为:vendor/smalot/pdfparser/src/Smalot/PdfParser/Parser.php:103。

这里有两种解决方案,第一根据异常的不同,区别对待,必竟我们只要页数;第二,就是直接流氓操作,把这个异常屏蔽掉得了。