Můžeme snadno analyzovat PDF dokumenty a extrahovat konkrétní data pomocí uživatelsky definované šablony v cloudu. Můžeme extrahovat data polí a tabulek ze souborů PDF programově. V tomto článku se naučíme, jak extrahovat data z PDF pomocí REST API v Node.js.
V tomto článku se budou zabývat následujícími tématy:
- REST API a Node.js SDK pro extrahování dat z PDF
- Extrahujte data pomocí souboru šablony založeného na JSON v Node.js
- Extrahujte data pomocí objektu šablony v Node.js
- Analyzujte dokument uvnitř kontejneru pomocí šablony v Node.js
REST API a Node.js SDK pro extrahování dat z PDF
Pro analýzu dokumentů PDF a extrahování dat na základě šablony budeme používat Node.js SDK of GroupDocs.Parser Cloud API. Umožňuje také analýzu jiných podporovaných typů dokumentů a extrakci textu, obrázků a specifických dat pomocí šablony. Nainstalujte jej pomocí následujícího příkazu v konzole:
npm install groupdocs-parser-cloud
Před provedením uvedených kroků získejte své ID klienta a tajný klíč z řídicího panelu. Jakmile budete mít své ID a tajemství, přidejte kód, jak je uvedeno níže:
// Tento příklad kódu ukazuje, jak přidat ID klienta a tajný klíč.
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";
Extrahujte data pomocí souboru šablony založeného na JSON v Node.js
Data z dokumentů PDF můžeme extrahovat pomocí šablony podle následujících jednoduchých kroků:
- Nahrát soubor PDF do cloudu
- Extrahujte data z PDF pomocí souboru šablony založeného na JSON
Nahrajte dokument
Nejprve nahrajeme dokument PDF do cloudu pro seškrabování pdf pomocí níže uvedeného příkladu kódu:
// Tento příklad kódu ukazuje, jak nahrát dokument PDF do cloudu.
// Vytvořte FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';
// Přečíst soubor
fs.readFile(file, (err, fileStream) => {
// Žádost o nahrání souboru
let request = new groupdocs_parser_cloud.UploadFileRequest("companies.pdf", fileStream, myStorage);
// Nahrát soubor
fileApi.uploadFile(request);
});
V důsledku toho bude nahraný soubor PDF k dispozici v sekce souborů řídicího panelu v cloudu.
Extrahujte data z PDF pomocí souboru šablony založeného na JSON
Můžeme analyzovat dokument PDF a extrahovat data pomocí souboru šablony založeného na JSON podle následujících kroků:
- Vytvořte instanci rozhraní ParseApi.
- Zadejte cestu k nahranému souboru PDF.
- Nastavte cestu k souboru JSON šablony.
- Nakonec dokument analyzujte a extrahujte data.
Následující ukázka kódu ukazuje, jak extrahovat data podle šablony poskytnuté v souboru JSON pomocí REST API.
// Tento příklad kódu ukazuje, jak analyzovat dokument PDF pomocí šablony založené na JSON.
// Vytvořte instanci rozhraní API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// Vstupní cesta k souboru
let fileInfo = new groupdocs_parser_cloud.FileInfo()
fileInfo.filePath = "companies.pdf"
// Vytvořte možnosti analýzy
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";
// Vytvořit požadavek na analýzu
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Analyzujte dokument
let response = await parseApi.parse(request);
// Zobrazení výstupu
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);
});
}
});
Níže naleznete šablonu ve formátu 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
}
}
}
}
]
}
Extrahujte data pomocí objektu šablony v Node.js
Můžeme extrahovat data ze souboru PDF na základě šablony definované jako objekt podle následujících kroků:
- Vytvořte instanci rozhraní ParseApi.
- Zadejte cestu k nahranému souboru PDF.
- Inicializujte šablonu jako objekt.
- Nakonec dokument analyzujte a extrahujte data.
Následující ukázka kódu ukazuje, jak extrahovat data podle definované šablony z dokumentu PDF pomocí REST API. Při nahrání souboru postupujte podle výše uvedených kroků.
// Tento příklad kódu ukazuje, jak analyzovat dokument PDF podle objektu šablony.
// Inicializace API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// Vložte soubor
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "companies.pdf";
// Definujte možnosti analýzy
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// Získejte objekt šablony
options.template = GetTemplate();
// Vytvořit požadavek na analýzu
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Projděte dokument
let result = await parseApi.parse(request);
// Ukázat výsledky
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);
});
}
});
Níže naleznete objekt šablony vytvořený podle dokumentu PDF pro seškrabování dat z pdf.
// Tento příklad kódu ukazuje objekt šablony.
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;
Analyzujte dokument uvnitř kontejneru pomocí šablony v Node.js
Můžeme také analyzovat dokument PDF dostupný v kontejneru a extrahovat data pomocí objektu šablony. Při analýze dokumentu a extrahování dat z naskenovaného souboru PDF uvnitř kontejneru postupujte podle níže uvedených kroků.
- Vytvořte instanci rozhraní ParseApi.
- Zadejte cestu k nahranému archivnímu souboru.
- Inicializujte šablonu jako objekt.
- Poskytněte položku kontejneru.
- Nakonec dokument analyzujte a extrahujte data.
Následující ukázka kódu ukazuje, jak analyzovat dokument PDF v archivu ZIP pomocí REST API. Chcete-li nahrát soubory a extrahovat informace z pdf, postupujte podle výše uvedených kroků.
// Tento příklad kódu ukazuje, jak analyzovat dokument PDF dostupný v kontejneru.
// Inicializace API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// Vstupní cesta k souboru
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "archive.zip";
// Vytvořte možnosti analýzy
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// Získejte objekt šablony
options.template = GetTemplate();
// Informace o položce kontejneru
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;
// Vytvořit požadavek na analýzu
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Vytvořit žádost
let response = await parseApi.parse(request);
// Zobrazení výstupu
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);
});
}
});
Vyzkoušejte online
Vyzkoušejte prosím následující bezplatný online nástroj pro analýzu PDF pro extrakci dat ve formátu PDF online. Tento extraktor obsahu PDF je vyvinut pomocí výše uvedeného API. https://products.groupdocs.app/parser/pdf
Závěr
V tomto článku jsme se naučili, jak extrahovat konkrétní data z PDF dokumentů podle poskytnuté šablony na cloudu. Také jsme viděli, jak vytvořit objekt šablony nebo použít šablonu ve formátu JSON. Nyní víte, jak extrahovat informace z PDF pomocí pdf scraper API a bezplatného PDF extraktoru dat. Kromě toho se můžete dozvědět více o GroupDocs.Parser Cloud API pomocí dokumentace. Poskytujeme také sekci Odkaz na rozhraní API, která vám umožní vizualizovat naše rozhraní API a pracovat s nimi přímo prostřednictvím prohlížeče. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.