首页 > 解决方案 > laravel 7 pdf 转文本 | 无法读取 pdf 文件

问题描述

我安装了这个 laravel 包来将 pdf 文件转换为文本。https://github.com/spatie/pdf-to-text

我收到此错误:

无法读取sample_1610656868.pdf

我尝试通过将文件放入公共文件夹并提供上传文件的路径来静态传递文件。

这是我的控制器:

public function pdftotext(Request $request)
{

    if($request->hasFile('file'))
    {
        // Get the file with extension
        $filenameWithExt = $request->file('file')->getClientOriginalName();
        //Get the file name
        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
        //Get the ext
        $extension = $request->file('file')->getClientOriginalExtension();
        //File name to store
        $fileNameToStore = $filename.'_'.time().'.'.$extension;
        //Upload File
        $path = $request->file('file')->storeAS('public/ebutifier/pdf', $fileNameToStore);
    }
    
    // dd($path);

    $location = public_path($path);

    // $pdf = $request->input('file');

    // dd($location);
    // echo Pdf::getText($location, 'usr/bin/pdftotext');

    $text = (new Pdf('public/ebutifier/pdf/'))
            ->setPdf($fileNameToStore)
            ->text();

            return $text;
}

不知道为什么它不工作任何帮助将不胜感激。

标签: pdflaravel-7pdftotext

解决方案


您使用了 spatie/pdf-to-text 包。我也尝试使用这个包,但它给了我这种错误。

所以,我使用了 asika/pdf2text 包,它工作正常 Asika /pdf2text pacakge

这是我的代码

 $path = public_path('/uploads/documents/'. $file_name);  
 $reader = new \Asika\Pdf2text; 
 $output = $reader->decode($path); 
 dd($output); 

希望对您有所帮助。


推荐阅读