目前正在验证pdf文件。我在 Laravel 中使用 PHP pdfparser 来提取文件。但有些文件无法提取。我想出了降级pdf文件以解决问题的解决方案,但仍然不适合我。
我试图将 pdf 文件从 1.7 版降级到 1.4 版,但它不允许我这样做。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Smalot\PdfParser\Parser;
use Xthiago\PDFVersionConverter\Guesser\RegexGuesser;
use Symfony\Component\Filesystem\Filesystem;
use Xthiago\PDFVersionConverter\Converter\GhostscriptConverterCommand;
use Xthiago\PDFVersionConverter\Converter\GhostscriptConverter;
class ApiController extends Controller {
public function varifyDocument(Request $request, Parser $parser) {
$request = $request->file();
$file = $request['file'];
//Get the version of the pdf file.
$guesser = new RegexGuesser();
$version = $guesser->guess($file);
//If pdf version is 1.7 then convert it to 1.4.
if($version == "1.7") {
$command = new GhostscriptConverterCommand();
$filesystem = new Filesystem();
$converter = new GhostscriptConverter($command, $filesystem);
$converter->convert($file, '1.4');
}
$pdf = $parser->parseFile($file);
$pages = $pdf->getPages();
foreach ($pages as $page) {
echo $page->getText();
}
}
}
我需要阅读 pdf 文件的内容并确定它是否存在漏洞。