Витягування тексту з файлів 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

Ці команди виконують ту ж саму операцію витягування тексту з PDF у Node.JS, але через хмарний API, що полегшує інтеграцію з будь‑якою платформою. Для отримання додаткових відомостей перегляньте офіційну довідку API.

Розбір процесу вилучення тексту з PDF у Node.JS

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

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

Це створює об’єкт конфігурації, який містить ваші облікові дані для автентифікації. Клас задокументовано в API довідка.

  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 у ваш робочий процес з документами та розкрити потужні можливості пошуку та аналітики.

Часті питання

  • Як я можу витягнути текст з 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.

Read More