pdfreader
Advanced tools
Comparing version 2.0.0 to 3.0.0
24
index.js
@@ -1,8 +0,16 @@ | ||
exports.PdfReader = require("./PdfReader"); | ||
exports.Rule = require("./Rule"); | ||
exports.LOG = require("./lib/LOG.js"); | ||
exports.parseTable = require("./lib/parseTable.js"); | ||
exports.parseColumns = require("./lib/parseColumns.js"); | ||
exports.SequentialParser = require("./lib/SequentialParser.js"); // experimental | ||
exports.TableParser = require("./lib/TableParser.js"); | ||
exports.ColumnsParser = require("./lib/ColumnsParser.js"); | ||
export { PdfReader } from "./PdfReader.js"; | ||
export { Rule } from "./Rule.js"; | ||
export * as LOG from "./lib/LOG.js"; | ||
import * as parseTableExports from "./lib/parseTable.js"; | ||
export const parseTable = Object.assign( | ||
parseTableExports.parseTable, | ||
parseTableExports | ||
); | ||
import * as parseColumnsExports from "./lib/parseColumns.js"; | ||
export const parseColumns = Object.assign( | ||
parseColumnsExports.parseColumns, | ||
parseColumnsExports | ||
); | ||
export { SequentialParser } from "./lib/SequentialParser.js"; // experimental | ||
export { TableParser } from "./lib/TableParser.js"; | ||
export { ColumnsParser } from "./lib/ColumnsParser.js"; |
@@ -8,3 +8,3 @@ /** | ||
var LOG = require("./LOG.js"); | ||
import { log as LOG } from "./LOG.js"; | ||
@@ -24,3 +24,3 @@ function getColumnIndex(cols, x) { | ||
function ColumnsParser(colNames) { | ||
export function ColumnsParser(colNames) { | ||
this.cols = []; | ||
@@ -53,3 +53,1 @@ var cols = this.cols, | ||
} | ||
module.exports = ColumnsParser; |
@@ -7,3 +7,3 @@ /** | ||
var util = require("util"); | ||
import util from "util"; | ||
@@ -21,9 +21,8 @@ var nullLog = function LOG() {}; | ||
module.exports = function () { | ||
export function log() { | ||
LOG.apply(null, arguments); | ||
}; | ||
} | ||
module.exports.toggle = function (enabled) { | ||
export function toggle(enabled) { | ||
LOG = !enabled ? nullLog : realLog; | ||
return module.exports; | ||
}; | ||
} |
@@ -9,5 +9,5 @@ /** | ||
var LOG = require("./LOG.js"); | ||
import { log as LOG } from "./LOG.js"; | ||
module.exports = function (/* columns */) { | ||
export const parseColumns = function (/* columns */) { | ||
this.output = []; | ||
@@ -14,0 +14,0 @@ this.cols = Array.prototype.slice.apply(arguments); |
@@ -67,3 +67,3 @@ /** | ||
function renderTable(table) { | ||
export function renderTable(table) { | ||
return (table || []) | ||
@@ -76,3 +76,3 @@ .map(function (row) { | ||
function renderMatrix(matrix) { | ||
export function renderMatrix(matrix) { | ||
return (matrix || []) | ||
@@ -85,3 +85,3 @@ .map(function (row) { | ||
function renderRows(rows) { | ||
export function renderRows(rows) { | ||
return (rows || []) | ||
@@ -97,3 +97,3 @@ .map(function (row, rowId) { | ||
function renderItems(items) { | ||
export function renderItems(items) { | ||
return items | ||
@@ -120,3 +120,3 @@ .map(function (i) { | ||
function detectCollisions(matrix) { | ||
export function detectCollisions(matrix) { | ||
var collisions = []; | ||
@@ -136,3 +136,3 @@ (matrix || []).map(function (row, rowN) { | ||
function makeAccumulator(nbRows, headerRow) { | ||
export const parseTable = function makeAccumulator(nbRows, headerRow) { | ||
var rule = this, | ||
@@ -164,9 +164,2 @@ items = []; | ||
return accumulate; // then the same function will be run on all following items, until another rule is triggered | ||
} | ||
module.exports = makeAccumulator; | ||
module.exports.renderItems = renderItems; | ||
module.exports.renderRows = renderRows; | ||
module.exports.renderMatrix = renderMatrix; | ||
module.exports.renderTable = renderTable; | ||
module.exports.detectCollisions = detectCollisions; | ||
}; |
@@ -6,3 +6,3 @@ /** | ||
**/ | ||
function SequentialParser(accumulators, callback) { | ||
export function SequentialParser(accumulators, callback) { | ||
var step = 0; | ||
@@ -36,3 +36,1 @@ var fields = {}; | ||
} | ||
module.exports = SequentialParser; |
@@ -9,3 +9,3 @@ /** | ||
function TableParser() { | ||
export function TableParser() { | ||
this.rows = {}; | ||
@@ -118,3 +118,1 @@ } | ||
}; | ||
module.exports = TableParser; |
{ | ||
"name": "pdfreader", | ||
"version": "2.0.0", | ||
"type": "module", | ||
"version": "3.0.0", | ||
"description": "Read text and parse tables from PDF files. Supports tabular data with automatic column detection, and rule-based parsing.", | ||
@@ -41,3 +42,3 @@ "main": "index.js", | ||
"dependencies": { | ||
"pdf2json": "2.0.1" | ||
"pdf2json": "3.0.1" | ||
}, | ||
@@ -44,0 +45,0 @@ "devDependencies": { |
@@ -1,4 +0,6 @@ | ||
var LOG = require("./lib/LOG.js").toggle(false); | ||
var PdfReader = require("./index.js").PdfReader; | ||
import { toggle } from "./lib/LOG.js"; | ||
import { PdfReader } from "./index.js"; | ||
toggle(false); | ||
function printRawItems(filename, callback) { | ||
@@ -5,0 +7,0 @@ new PdfReader().parseFileItems(filename, function (err, item) { |
@@ -1,5 +0,7 @@ | ||
var LOG = require("./lib/LOG.js").toggle(false); | ||
var PdfReader = require("./index.js").PdfReader; | ||
var fs = require("fs"); | ||
import fs from "fs"; | ||
import { toggle } from "./lib/LOG.js"; | ||
import { PdfReader } from "./index.js"; | ||
toggle(false); | ||
function printRawItems(pdfBuffer, callback) { | ||
@@ -6,0 +8,0 @@ new PdfReader().parseBuffer(pdfBuffer, function (err, item) { |
@@ -14,4 +14,4 @@ /** | ||
var LOG = require("./lib/LOG.js"); | ||
var PFParser = require("pdf2json/pdfparser"); // doc: https://github.com/modesty/pdf2json | ||
import { log as LOG } from "./lib/LOG.js"; | ||
import PDFParser from "pdf2json"; // doc: https://github.com/modesty/pdf2json | ||
@@ -41,3 +41,3 @@ function forEachItem(pdf, handler) { | ||
function PdfReader(options) { | ||
export function PdfReader(options) { | ||
LOG("PdfReader"); // only displayed if LOG.js was first loaded with `true` as init parameter | ||
@@ -54,5 +54,5 @@ this.options = options || {}; | ||
if (this.options.password) { | ||
pdfParser = new PFParser(null, null, this.options.password); | ||
pdfParser = new PDFParser(null, null, this.options.password); | ||
} else { | ||
pdfParser = new PFParser(); | ||
pdfParser = new PDFParser(); | ||
} | ||
@@ -75,5 +75,5 @@ | ||
if (this.options.password) { | ||
pdfParser = new PFParser(null, null, this.options.password); | ||
pdfParser = new PDFParser(null, null, this.options.password); | ||
} else { | ||
pdfParser = new PFParser(); | ||
pdfParser = new PDFParser(); | ||
} | ||
@@ -88,3 +88,1 @@ | ||
}; | ||
module.exports = PdfReader; |
@@ -51,3 +51,3 @@ # pdfreader ![Node CI](https://github.com/adrienjoly/npm-pdfreader/workflows/Node%20CI/badge.svg) [![Code Quality](https://api.codacy.com/project/badge/Grade/73d37dbb0ff84795acf65a55c5936d83)](https://app.codacy.com/gh/adrienjoly/npm-pdfreader?utm_source=github.com&utm_medium=referral&utm_content=adrienjoly/npm-pdfreader&utm_campaign=Badge_Grade) | ||
```javascript | ||
const { PdfReader } = require("pdfreader"); | ||
import { PdfReader } from "pdfreader"; | ||
@@ -79,4 +79,4 @@ new PdfReader().parseFileItems("test/sample.pdf", (err, item) => { | ||
```javascript | ||
const fs = require("fs"); | ||
const { PdfReader } = require("pdfreader"); | ||
import fs from "fs"; | ||
import { PdfReader } from "pdfreader"; | ||
@@ -83,0 +83,0 @@ fs.readFile("test/sample.pdf", (err, pdfBuffer) => { |
12
Rule.js
@@ -7,3 +7,5 @@ /** | ||
var LOG = require("./lib/LOG.js"); | ||
import { log as LOG } from "./lib/LOG.js"; | ||
import { parseColumns } from "./lib/parseColumns.js"; | ||
import { parseTable } from "./lib/parseTable.js"; | ||
@@ -14,3 +16,3 @@ /** | ||
**/ | ||
function Rule(regexp) { | ||
export function Rule(regexp) { | ||
this.regexp = regexp; | ||
@@ -185,3 +187,3 @@ var self = this; | ||
**/ | ||
Rule.addAccumulator("parseColumns", require("./lib/parseColumns.js")); | ||
Rule.addAccumulator("parseColumns", parseColumns); | ||
@@ -191,4 +193,2 @@ /** | ||
**/ | ||
Rule.addAccumulator("parseTable", require("./lib/parseTable.js")); | ||
module.exports = Rule; | ||
Rule.addAccumulator("parseTable", parseTable); |
Yes
35388
+ Addedpdf2json@3.0.1(transitive)
- Removedpdf2json@2.0.1(transitive)
Updatedpdf2json@3.0.1