首页 > 解决方案 > Spatie PdftoText 找不到库的路径(Windows)

问题描述

我正在尝试使用 Spatie pdf-to-text 包。

这是我的控制器代码

  public function TextFromPdf(Request $pdfFile)
    {


        if (isset($pdfFile)) {

            $file = $pdfFile->file('pdfFile');
            $fileName =  'PDF File '.time() . '-' . $file->getClientOriginalName();
            $file->storeAs('',$fileName);
            $filePath =  Storage::disk('local')->path($fileName);
           
            $text = (new Pdf ('C:\CV-Test\blog\vendor\spatie\pdf-to-text'))
                ->setPdf($filePath)
                ->text();
             return view('CV_test.pdf', compact('text'));
        }


    }

我得到的错误是这个

命令 "C:\CV-Test\blog\vendor\spatie\pdf-to-text "C:\CV-Test\blog\storage\app\PDF File 1621335323-19DE0310_04_zpl_sued_mediathek.pdf" -" 失败。退出代码:1(一般错误) 工作目录:C:\CV-Test\blog\public 输出:================ 错误输出:======== ======== Der Befehl "C:\CV-Test\blog\vendor\spatie\pdf-to-text" ist entweder falsch geschrieben oder konnte nicht gefunden werden。

这意味着路径 C:\CV-Test\blog\vendor\spatie\pdf-to-text 错误或找不到。我从文档中了解到我需要将路径放入 pdftotext 库。这是我的包所在位置的屏幕截图,它位于供应商文件夹中

文件夹结构截图

谁能告诉我我做错了什么?

提前致谢。

标签: phplaravel

解决方案


适用于 Windows 的二进制文件可在此页面下载:

https://www.xpdfreader.com/download.html部分下载 Xpdf 命令行工具:

解压后,只需使用此代码

$text = (new Pdf('Path\to\pdftotext.exe'))->setPdf($pdfFilePath)->text();

并替换路径。


推荐阅读