我有PHP代码将PDF文件转换为文本文件。为此,我使用编辑器安装了一个外部库,以便能够使用PDF库。
问题是即使我需要安装的库,系统仍然无法识别 PDF类。
图书馆的路径:
C:\ XAMPP \ htdocs中\厂商\ spatie \ PDF到文本\ SRC \ pdf.php
错误:
致命错误:未捕获错误:在C:\ xampp \ htdocs \ testwebsite \ OSWebProject \ test2.php中找不到类'Pdf':5堆栈跟踪:#0 {main}在C:\ xampp \ htdocs \ testwebsite中抛出第5行的OSWebProject \ test2.php
<?php
namespace Spatie\PdfToText;
use Spatie\PdfToText\Exceptions\CouldNotExtractText;
use Spatie\PdfToText\Exceptions\PdfNotFound;
use Symfony\Component\Process\Process;
class Pdf
{
protected $pdf;
protected $binPath;
public function __construct(string $binPath = null)
{
$this->binPath = $binPath ?? '/usr/bin/pdftotext';
}
public function setPdf(string $pdf) : Pdf
{
if (!file_exists($pdf)) {
throw new PdfNotFound("could not find pdf {$pdf}");
}
$this->pdf = $pdf;
return $this;
}
public function text() : string
{
$process = new Process("{$this->binPath} " . escapeshellarg($this->pdf) . " -");
$process->run();
if (!$process->isSuccessful()) {
throw new CouldNotExtractText($process);
}
return trim($process->getOutput(), " \t\n\r\0\x0B\x0C");
}
public static function getText(string $pdf, string $binPath = null) : string
{
return (new static($binPath))
->setPdf($pdf)
->text();
}
}
<?php
require_once('C:\xampp\htdocs\vendor\spatie\pdf-to-text\src\pdf.php');
$text = (new Pdf())
->setPdf('اجواء.pdf')
->text();
?>
答案 0 :(得分:1)
每the docs and source,Pdf
类位于Spatie\PdfToText
命名空间内。
您需要在PHP文件的顶部use Spatie\PdfToText\Pdf;
,或者在调用它时可以将其引用为new Spatie\PdfToText\Pdf()
。