首页 > 解决方案 > 无法在php中提取pdf文件的内容

问题描述

目前正在验证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 文件的内容并确定它是否存在漏洞。

标签: phppdfparser

解决方案


推荐阅读