Извлечение текста из файлов PDF часто требуется при построении конвейеров обработки документов, особенно для индексации поиска или анализа данных. GroupDocs.Parser Cloud SDK for Node.JS предоставляет надёжную библиотеку, позволяющую программно извлекать текст из PDF в Node.JS без необходимости работать с низкоуровневой логикой парсинга. В этом руководстве вы узнаете, как извлекать текст из PDF в Node.JS, используя полный пример кода, альтернативу cURL REST и необходимые шаги настройки, охватывающие как обычные, так и зашифрованные PDF.

Извлечение текста из PDF в Node.JS - Полный пример кода

В следующем примере демонстрируется, как извлечь текст из PDF в Node.JS с помощью GroupDocs.Parser Cloud SDK. Он включает инициализацию, построение запроса, выполнение и сохранение результата в локальный файл.

const GroupDocsParserCloud = require("@groupdocs/parser-cloud");
const fs = require("fs");

(async () => {
    // Initialize configuration with your credentials
    const config = new GroupDocsParserCloud.Configuration({
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET"
    });

// Create Parser API instance
    const parserApi = new GroupDocsParserCloud.ParserApi(config);

// Build request to extract text from a PDF file stored in cloud storage
    const request = new GroupDocsParserCloud.ExtractTextRequest({
        fileInfo: new GroupDocsParserCloud.FileInfo({
            filePath: "input.pdf" // path to the PDF in GroupDocs cloud storage
        })
    });

try {
        // Execute the request
        const result = await parserApi.extractText(request);

// result.text contains the extracted plain text
        console.log("Extracted Text:\n", result.text);

// Save extracted text to a local file
        fs.writeFileSync("extracted.txt", result.text, "utf8");
        console.log("Text saved to extracted.txt");
    } catch (error) {
        console.error("Error extracting text:", error);
    }
})();

Примечание: Этот пример кода демонстрирует базовую функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверили, что все необходимые зависимости правильно установлены, и тщательно протестировали в вашей среде разработки. Если вы столкнётесь с какими-либо проблемами, обратитесь к официальной документации или свяжитесь с службой поддержки для получения помощи.

Получить текст PDF с помощью cURL и REST API

Если вы предпочитаете язык‑независимый подход, вы можете достичь того же результата с помощью команд cURL, вызывающих GroupDocs.Parser Cloud REST API. Ниже приведены шаги, показывающие, как аутентифицироваться, загрузить PDF, извлечь из него текст и скачать результат.

# 1. Get an access token
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
# Response contains "access_token"

# 2. Upload the PDF to cloud storage
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/pdf" \
     --data-binary @input.pdf

# 3. Extract text from the uploaded PDF
curl -X POST "https://api.groupdocs.cloud/v2.0/parser/extractText" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"fileInfo":{"filePath":"input.pdf"}}' \
     -o result.json

# 4. Save the extracted text locally
jq -r '.text' result.json > extracted.txt

Эти команды выполняют ту же операцию extract text from PDF in Node.JS, но через облачный API, упрощая интеграцию с любой платформой. Для получения более подробной информации см. официальную справку API.

Разбор извлечения текста из PDF в Node.JS

Понимание каждой части кода помогает адаптировать его к более сложным сценариям, таким как обработка отсканированных или зашифрованных PDF‑файлов.

  1. Инициализация конфигурации -
const config = new GroupDocsParserCloud.Configuration({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET"
});

Это создает объект конфигурации, который хранит ваши учетные данные для аутентификации. Класс задокументирован в API reference.

  1. Экземпляр Parser API -
const parserApi = new GroupDocsParserCloud.ParserApi(config);

Класс ParserApi предоставляет методы для всех операций парсинга, включая extractText.

  1. Создание ExtractTextRequest -
const request = new GroupDocsParserCloud.ExtractTextRequest({
    fileInfo: new GroupDocsParserCloud.FileInfo({
        filePath: "input.pdf"
    })
});

ExtractTextRequest сообщает сервису, какой файл обрабатывать. Вы также можете установить параметры OCR здесь для отсканированных PDF.

  1. Выполнение запроса -
const result = await parserApi.extractText(request);

Метод extractText отправляет запрос в облако и возвращает объект ответа, содержащий простой текст.

  1. Обработка результата -
console.log("Extracted Text:\n", result.text);
fs.writeFileSync("extracted.txt", result.text, "utf8");

Свойство result.text содержит извлечённый контент, который вы можете выводить в журнал, сохранять или дальше обрабатывать.

Установка и настройка GroupDocs.Parser Cloud SDK for Node.JS

Прежде чем запустить код, установите SDK и настройте свою среду.

npm install groupdocs-parser-cloud

Требования: Node.js 14 или новее, активный аккаунт GroupDocs Cloud и учетные данные клиента (client ID и client secret). Скачайте последнюю версию пакета со страницы официального скачивания. После установки создайте файл config.json (или используйте переменные окружения), чтобы безопасно хранить ваши учетные данные.

Заключение

Извлечение текста из PDF в Node.JS становится простым с помощью GroupDocs.Parser Cloud SDK for Node.JS. SDK абстрагирует сложность парсинга PDF, поддерживает OCR для отсканированных PDF и сразу же работает с зашифрованными документами. Не забудьте получить действующую лицензию для использования в продакшене; вы можете приобрести подписку или запросить временную лицензию для оценки библиотеки. С примером кода, альтернативой cURL и описанными шагами установки вы готовы интегрировать извлечение текста из PDF в ваш документооборот и открыть мощные возможности поиска и аналитики.

FAQs

  • Как извлечь текст из PDF в Node.JS с помощью GroupDocs.Parser?
    Используйте метод extractText класса ParserApi, как показано в полном примере кода. SDK автоматически возвращает обычный текст, и вы можете включить OCR для отсканированных PDF‑файлов.

  • Могу ли я извлечь текст из отсканированного PDF в Node.JS?
    Да. Установите параметры OCR в ExtractTextRequest, чтобы сервис распознавал текст на страницах, основанных на изображениях.

  • Что если мой PDF защищён паролем?
    Укажите пароль в объекте FileInfo (password: "yourPassword"). SDK расшифрует файл перед извлечением текста.

  • Есть ли способ вызвать сервис без написания Node.JS кода?
    Конечно. Команды cURL в разделе “Retrieve PDF Text Using cURL and the REST API” демонстрируют независимый от языка подход через REST API.

Читать далее