Ми можемо легко проаналізувати PDF документи та витягти певні дані за допомогою шаблону, визначеного користувачем у хмарі. Ми можемо видобувати поля та дані таблиці з PDF-файлів програмним шляхом. У цій статті ми дізнаємося, як витягувати дані з PDF за допомогою REST API у Node.js.
У цій статті будуть розглянуті такі теми:
- REST API та Node.js SDK для вилучення даних із PDF
- Отримайте дані за допомогою файлу шаблону на основі JSON у Node.js
- Видобуток даних за допомогою Template Object у Node.js
- Проаналізуйте документ усередині контейнера за допомогою шаблону в Node.js
REST API та Node.js SDK для вилучення даних із PDF
Для аналізу PDF-документів і вилучення даних на основі шаблону ми будемо використовувати API Node.js SDK GroupDocs.Parser Cloud. Він також дозволяє аналізувати інші підтримувані типи документів і видобувати текст, зображення та певні дані за допомогою шаблону. Встановіть його за допомогою такої команди в консолі:
npm install groupdocs-parser-cloud
Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:
// Цей приклад коду демонструє, як додати ідентифікатор клієнта та секрет.
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const configuration = new groupdocs_parser_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";
Отримайте дані за допомогою файлу шаблону на основі JSON у Node.js
Ми можемо отримати дані з PDF-документів за допомогою шаблону, виконавши прості дії, наведені нижче:
Завантажте документ
По-перше, ми завантажимо PDF-документ у хмару для копіювання PDF-файлу за допомогою прикладу коду, наведеного нижче:
// Цей приклад коду демонструє, як завантажити документ PDF у хмару.
// Побудуйте FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';
// Прочитати файл
fs.readFile(file, (err, fileStream) => {
// Запит на завантаження файлу
let request = new groupdocs_parser_cloud.UploadFileRequest("companies.pdf", fileStream, myStorage);
// Завантажити файл
fileApi.uploadFile(request);
});
У результаті завантажений PDF-файл буде доступний у розділі файлів інформаційної панелі в хмарі.
Витягніть дані з PDF за допомогою файлу шаблону на основі JSON
Ми можемо проаналізувати PDF-документ і витягти дані за допомогою файлу шаблону на основі JSON, виконавши наведені нижче дії.
- Створіть екземпляр ParseApi.
- Укажіть шлях до завантаженого файлу PDF.
- Встановіть шлях до файлу шаблону JSON.
- Нарешті, проаналізуйте документ і витягніть дані.
У наведеному нижче прикладі коду показано, як видобувати дані відповідно до шаблону, наданого у файлі JSON, за допомогою REST API.
// Цей приклад коду демонструє, як аналізувати PDF-документ за шаблоном на основі JSON.
// Створіть екземпляр API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// Вхідний шлях до файлу
let fileInfo = new groupdocs_parser_cloud.FileInfo()
fileInfo.filePath = "companies.pdf"
// Створення параметрів аналізу
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";
// Створити запит на аналіз
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Розберіть документ
let response = await parseApi.parse(request);
// Виведення на дисплей
response.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
Нижче наведено шаблон у форматі JSON.
{
"Fields": [
{
"FieldName": "Address",
"FieldPosition": {
"FieldPositionType": "Regex",
"Regex": "Companyaddress:"
}
},
{
"FieldName": "CompanyAddress",
"FieldPosition": {
"FieldPositionType": "Linked",
"LinkedFieldName": "ADDRESS",
"IsRightLinked": true,
"SearchArea": {
"Height": 10.0,
"Width": 100.0
},
"AutoScale": true
}
},
{
"FieldName": "Company",
"FieldPosition": {
"FieldPositionType": "Regex",
"Regex": "Companyname:"
}
},
{
"FieldName": "CompanyName",
"FieldPosition": {
"FieldPositionType": "Linked",
"LinkedFieldName": "Company",
"IsRightLinked": true,
"SearchArea": {
"Height": 10.0,
"Width": 100.0
},
"AutoScale": true
}
}
],
"Tables": [
{
"TableName": "Companies",
"DetectorParameters": {
"Rectangle": {
"Position": {
"X": 77.0,
"Y": 279.0
},
"Size": {
"Height": 41.0,
"Width": 480.0
}
}
}
}
]
}
Видобуток даних за допомогою Template Object у Node.js
Ми можемо отримати дані з PDF-файлу на основі шаблону, визначеного як об’єкт, виконавши наведені нижче кроки:
- Створіть екземпляр ParseApi.
- Укажіть шлях до завантаженого файлу PDF.
- Ініціалізація шаблону як об’єкта.
- Нарешті, проаналізуйте документ і витягніть дані.
У наведеному нижче прикладі коду показано, як витягти дані відповідно до визначеного шаблону з документа PDF за допомогою REST API. Щоб завантажити файл, виконайте наведені вище дії.
// Цей приклад коду демонструє, як аналізувати PDF-документ за об’єктом Template.
// Ініціалізація API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// Вхідний файл
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "companies.pdf";
// Визначте параметри аналізу
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// Отримати об’єкт шаблону
options.template = GetTemplate();
// Створити запит на аналіз
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Передайте документ
let result = await parseApi.parse(request);
// Показати результати
result.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
Нижче можна знайти об’єкт шаблону, створений відповідно до PDF-документа для копіювання даних із PDF-файлу.
// Цей приклад коду демонструє об’єкт шаблону.
let field1 = new groupdocs_parser_cloud.Field();
field1.fieldName = "Address";
let fieldPosition1 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition1.fieldPositionType = "Regex";
fieldPosition1.regex = "Company address:";
field1.fieldPosition = fieldPosition1;
let field2 = new groupdocs_parser_cloud.Field();
field2.fieldName = "CompanyAddress";
let fieldPosition2 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition2.fieldPositionType = "Linked";
fieldPosition2.linkedFieldName = "ADDRESS";
fieldPosition2.isRightLinked = true;
let size2 = new groupdocs_parser_cloud.Size();
size2.width = 100;
size2.height = 10;
fieldPosition2.searchArea = size2;
fieldPosition2.autoScale = true;
field2.fieldPosition = fieldPosition2;
let field3 = new groupdocs_parser_cloud.Field();
field3.fieldName = "Company";
let fieldPosition3 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition3.fieldPositionType = "Regex";
fieldPosition3.regex = "Company name:";
field3.fieldPosition = fieldPosition3;
let field4 = new groupdocs_parser_cloud.Field();
field4.fieldName = "CompanyName";
let fieldPosition4 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition4.fieldPositionType = "Linked";
fieldPosition4.linkedFieldName = "Company";
fieldPosition4.isRightLinked = true;
let size4 = new groupdocs_parser_cloud.Size();
size4.width = 100;
size4.height = 10;
fieldPosition4.searchArea = size4;
fieldPosition4.autoScale = true;
field4.fieldPosition = fieldPosition4;
let table = new groupdocs_parser_cloud.Table();
table.tableName = "Companies";
let detectorparams = new groupdocs_parser_cloud.DetectorParameters();
let rect = new groupdocs_parser_cloud.Rectangle();
let size = new groupdocs_parser_cloud.Size();
size.height = 60;
size.width = 480;
let position = new groupdocs_parser_cloud.Point();
position.x = 77;
position.y = 279;
rect.size = size;
rect.position = position;
detectorparams.rectangle = rect;
table.detectorParameters = detectorparams;
let fields = [field1, field2, field3, field4];
let tables = [table];
let template = new groupdocs_parser_cloud.Template();
template.fields = fields;
template.tables = tables;
return template;
Проаналізуйте документ усередині контейнера за допомогою шаблону в Node.js
Ми також можемо проаналізувати PDF-документ, доступний усередині контейнера, і витягнути дані за допомогою об’єкта шаблону. Виконайте наведені нижче кроки, щоб проаналізувати документ і отримати дані зі сканованого PDF-файлу всередині контейнера.
- Створіть екземпляр ParseApi.
- Вкажіть шлях до завантаженого файлу архіву.
- Ініціалізація шаблону як об’єкта.
- Надайте елемент контейнера.
- Нарешті, проаналізуйте документ і витягніть дані.
У наведеному нижче прикладі коду показано, як аналізувати PDF-документ у ZIP-архіві за допомогою REST API. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити файли та отримати інформацію з pdf.
// Цей приклад коду демонструє, як аналізувати PDF-документ, доступний у контейнері.
// Ініціалізація API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// Вхідний шлях до файлу
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "archive.zip";
// Створення параметрів аналізу
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// Отримати об'єкт шаблону
options.template = GetTemplate();
// Інформація про контейнер
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;
// Створити запит на аналіз
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Створити запит
let response = await parseApi.parse(request);
// Виведення на дисплей
response.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
Спробуйте онлайн
Будь ласка, спробуйте скористатися наведеним нижче безкоштовним онлайн-інструментом аналізу PDF для видобування даних у форматі PDF онлайн. Цей екстрактор вмісту PDF розроблено з використанням вищезгаданого API. https://products.groupdocs.app/parser/pdf
Висновок
У цій статті ми дізналися, як видобувати певні дані з PDF-документів відповідно до наданого шаблону в хмарі. Ми також побачили, як створити об’єкт шаблону або використовувати шаблон у форматі JSON. Тепер ви знаєте, як видобувати інформацію з PDF-файлу за допомогою API скребка PDF-файлів і безкоштовного екстрактора PDF-даних. Крім того, ви можете дізнатися більше про GroupDocs.Parser Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.