const pdfExtract = require('pdf-extract') const path = '/home/tomi/Downloads/2230G-900-01A_Jun_2018_User.pdf' const options = { type: 'text' // or 'ocr' } function getSCPICommands (pages) { const scpiCommon = /(\*\w+\??)/g const scpi = /((?:\*\w+|(?:\[?\w+\]?)(?=:\w+)\]?)(?:\[?:\w+\]?)*\??)(?:\s+(<?\w+>?)(?:[,|]\s*(<?\w+>?))*)?/g pages.map((page, pageIndex) => { const lines = page.split('\n') lines.map((line, lineIndex) => { const matches = line.match(scpi) if (matches) console.log(pageIndex, lineIndex, matches) }) }) } const processor = pdfExtract(path, options, error => { if (error) return error }) processor.on('complete', data => { console.log(data.text_pages) getSCPICommands(data.text_pages) }) processor.on('error', error => { console.error(error) })