Класс 'Smalot\PdfParser\Parser' не найден

Я пытаюсь использовать библиотеку Pdfparser для анализа PDF-файла, но у меня есть некоторые проблемы с включением классов.

Я прочитал документацию, но она не работает.

Я использую Windows и XAMPP.

  • Я создал каталог в /xampp/htdocs/pdf_import
  • Я установил Composer и сгенерировал /vendor/autoload.php в pdfparser-master/src
  • Я использую пример кода в документации

Пример:

<?php

require 'vendor/autoload.php';

// Parse pdf file and build necessary objects.
$parser = new \Smalot\PdfParser\Parser();
$pdf    = $parser->parseFile('document.pdf');

// Retrieve all pages from the pdf file.
$pages = $pdf->getPages();

// Loop over each page to extract text.
foreach ($pages as $page) {
    echo $page->getText();
}

Когда я запускаю php-скрипт, я получаю эту ошибку:

Неустранимая ошибка: класс 'Smalot\PdfParser\Parser' не найден в C:\xampp\htdocs\pdf_import\pdfparser-master\src\import.php в строке 8


person bit    schedule 24.12.2014    source источник
comment
Используйте require вместо include. - См. также Разницу между «include» и «require» в php   -  person hakre    schedule 24.12.2014
comment
с помощью require у меня нет различий   -  person bit    schedule 24.12.2014
comment
Но вы можете быть уверены, что файл vendor/autoload.php был загружен. Я просто предложил это по этой причине, а не по той причине, что вы устраняете неполадки не с того конца.   -  person hakre    schedule 24.12.2014
comment
Итак, для дальнейшего продвижения по этому вопросу: по какой части сообщения об ошибке у вас есть вопросы? В чем собственно ваш вопрос?   -  person hakre    schedule 24.12.2014
comment
В каком каталоге вы выполнили команду composer update smalot/pdfparser из документации?   -  person hakre    schedule 24.12.2014
comment
Я попытался выполнить обновление композитора из pdfparser-master/ и из pdfparser-master/src (переместив все файлы). Мой вопрос в том, почему у меня есть эти ошибки. Вероятно, по этой причине я не могу разобрать файл PDF   -  person bit    schedule 28.12.2014


Ответы (1)


Почему-то твой путь не годится

require 'vendor/autoload.php';

Проверьте, действительно ли включена автозагрузка.

В Codeigniter3/4 убедитесь, что вы указали путь в файле конфигурации.

$config['composer_autoload'] = 'vendor/autoload.php';

затем в вашем контроллере/библиотеке

    // Parse pdf file and build necessary objects.
    $parser = new \Smalot\PdfParser\Parser();
    $pdf    = $parser->parseFile(FCPATH . 'includes/temp/' . $pdf_file);
    
    return $pdf->getText();
person Adrian P.    schedule 03.06.2021