@firecrawl/pdf-inspector 1.20.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +39 -1
  2. package/index.d.ts +89 -2
  3. package/index.js +53 -52
  4. package/package.json +7 -7
package/README.md CHANGED
@@ -114,6 +114,35 @@ page undone — so `x`/`y`/`width`/`height` and `rotation` describe the item as
114
114
  a renderer draws it. Pages with `/Rotate 0` whose text is not predominantly
115
115
  rotated are identical in both frames.
116
116
 
117
+ `fontWeight` is the font's weight class on the 100..900 scale shared by CSS
118
+ `font-weight` and the OS/2 `usWeightClass` field (400 regular, 700 bold), read
119
+ from the embedded font program's OS/2 table, else the FontDescriptor's
120
+ `/FontWeight`, else a weight word in the font name ("Light", "Medium", "-Md",
121
+ "Black", "W6"); it is omitted when none of them says. `isBold` is unchanged
122
+ and independent of it, so a medium face reports `fontWeight: 500` with
123
+ `isBold: false`. Pass `{ boldFromWeight: true }` to also read `isBold` from a
124
+ weight class of 600 (SemiBold) or more — or of `boldWeightThreshold`, any
125
+ class on the 100..900 scale — and to merge adjacent runs by that verdict, so a
126
+ heavier run inside a lighter paragraph keeps its own item while runs whose
127
+ weights differ but agree on bold merge as usual.
128
+
129
+ `boldSource` says where `isBold` came from — `"FontName"` (a bold word or
130
+ style abbreviation in the font name), `"FontFlags"` (the FontDescriptor's
131
+ ForceBold flag or the embedded program's bold selection), `"WeightClass"`
132
+ (the weight class, with `boldFromWeight`) or `"Painted"` (text filled and
133
+ stroked to look heavier), the first of them in that order when more than one
134
+ says bold — so a face whose name says Bold over a `fontWeight` of 400 can be
135
+ told from one whose weight class says so. It is omitted when `isBold` is
136
+ `false`.
137
+
138
+ `fixedPitch` is `true` when the FontDescriptor's FixedPitch flag or the
139
+ embedded program's `post` table says the font is monospaced, else measured
140
+ from the font's width table: `true` when a dozen or more of its glyphs share
141
+ one advance, `false` when two differ. It is omitted when the font declares
142
+ nothing and no two advances differ but fewer than a dozen share one. Many
143
+ producers write `/Flags 4`
144
+ whatever the face, so the flag is only ever read as a yes.
145
+
117
146
  `legacySymbolRewrite: true` marks items whose decoded text includes a character
118
147
  changed by legacy symbol cleanup. Merged items retain this evidence from either
119
148
  source, and split items conservatively inherit it. The field is omitted when
@@ -130,6 +159,12 @@ for (const item of extractTextWithPositions(pdf, [1])) { // pages are 1-indexed
130
159
 
131
160
  // Boxes as a renderer draws the page (`/Rotate` applied)
132
161
  const rendered = extractTextWithPositions(pdf, undefined, { frame: 'display' })
162
+
163
+ // Bold also from the weight class, SemiBold (600) and heavier
164
+ const weighted = extractTextWithPositions(pdf, undefined, { boldFromWeight: true })
165
+
166
+ // ... or from Bold (700) and heavier
167
+ const heavier = extractTextWithPositions(pdf, undefined, { boldFromWeight: true, boldWeightThreshold: 700 })
133
168
  ```
134
169
 
135
170
  ### `extractTextWithPositionsAndRotations(buffer: Buffer, pages?: number[], options?: FrameOptions): PositionedText`
@@ -157,7 +192,8 @@ rendered page (the visible box turned clockwise by the page's inheritable
157
192
  `/Rotate`; the page-level turn of a predominantly rotated page is undone
158
193
  first, while individual runs keep their own `rotation`), as a layout model
159
194
  working on page images reports them, whatever the page's `/Rotate` or text
160
- direction. `extractTablesInRegions` takes the same option.
195
+ direction. `extractTablesInRegions` takes the same options, `boldFromWeight`
196
+ included (see `extractTextWithPositions`).
161
197
 
162
198
  Each region result includes a `needsOcr` flag that signals unreliable extraction (empty text, GID-encoded fonts, garbage text, encoding issues). When the cause is a suspected garbled text layer, `ocrReason` is set to `"suspected_garbled_text"`.
163
199
 
@@ -224,6 +260,8 @@ interface PageRegions {
224
260
 
225
261
  interface FrameOptions {
226
262
  frame?: "sheet" | "display" // coordinate frame of items and region bboxes; "sheet" by default
263
+ boldFromWeight?: boolean // also read isBold from fontWeight >= boldWeightThreshold and merge runs by that verdict; false by default
264
+ boldWeightThreshold?: number // the weight class boldFromWeight reads bold from, 100..900; 600 by default
227
265
  }
228
266
 
229
267
  interface PositionedText {
package/index.d.ts CHANGED
@@ -1,5 +1,32 @@
1
1
  /* auto-generated by NAPI-RS */
2
2
  /* eslint-disable */
3
+ /**
4
+ * Where `TextItem.isBold` came from. When more than one of them says bold
5
+ * the first in this order is reported.
6
+ */
7
+ export declare const enum BoldSource {
8
+ /**
9
+ * A bold word or foundry style abbreviation in the font name ("Bold",
10
+ * "-Bd", "Black", "Demi", "-Hv", "W7").
11
+ */
12
+ FontName = 'FontName',
13
+ /**
14
+ * The FontDescriptor's ForceBold flag, or the embedded font program's
15
+ * own bold selection.
16
+ */
17
+ FontFlags = 'FontFlags',
18
+ /**
19
+ * The weight class: `fontWeight` at or above `boldWeightThreshold`
20
+ * (only with `boldFromWeight`).
21
+ */
22
+ WeightClass = 'WeightClass',
23
+ /**
24
+ * Text filled and stroked to look heavier, in a face that is not bold
25
+ * itself.
26
+ */
27
+ Painted = 'Painted'
28
+ }
29
+
3
30
  /**
4
31
  * Lightweight PDF classification — returns type, page count, and OCR pages.
5
32
  * Faster than detectPdf as it skips building the full PdfResult.
@@ -179,9 +206,10 @@ export declare function extractTextWithPositions(buffer: Buffer, pages?: Array<n
179
206
  export declare function extractTextWithPositionsAndRotations(buffer: Buffer, pages?: Array<number> | undefined | null, options?: FrameOptions | undefined | null): PositionedText
180
207
 
181
208
  /**
182
- * Coordinate frame selection shared by `extractTextWithPositions`,
209
+ * Options shared by `extractTextWithPositions`,
183
210
  * `extractTextWithPositionsAndRotations`, `extractTextInRegions` and
184
- * `extractTablesInRegions`.
211
+ * `extractTablesInRegions`: the coordinate frame, and whether (and from
212
+ * which weight class) bold is also read from the font's weight class.
185
213
  */
186
214
  export interface FrameOptions {
187
215
  /**
@@ -196,6 +224,26 @@ export interface FrameOptions {
196
224
  * page image.
197
225
  */
198
226
  frame?: "sheet" | "display"
227
+ /**
228
+ * Also read bold from the font's weight class. When `true`,
229
+ * `TextItem.isBold` is also `true` for items whose `fontWeight` is
230
+ * `boldWeightThreshold` (600, SemiBold, by default) or more — with
231
+ * `boldSource: "WeightClass"` unless the font's name or flags already
232
+ * said bold — and adjacent runs are merged by that
233
+ * verdict: a run the weight makes bold stays apart from its plain
234
+ * neighbours, so a heavier run inside a lighter paragraph keeps its own
235
+ * item, while runs whose weights differ but agree on bold merge as
236
+ * usual. `false` by default: `isBold` and item merging are then
237
+ * unchanged, and `fontWeight` is reported either way.
238
+ */
239
+ boldFromWeight?: boolean
240
+ /**
241
+ * The weight class from which `boldFromWeight` reads bold, on the
242
+ * 100..900 scale: 600 by default, so SemiBold and heavier faces are
243
+ * bold. It matters only when `boldFromWeight` is `true`, but a value
244
+ * outside 100..900 is an argument error either way.
245
+ */
246
+ boldWeightThreshold?: number
199
247
  }
200
248
 
201
249
  /** Type of a positioned text item. */
@@ -557,8 +605,47 @@ export interface TextItem {
557
605
  legacySymbolRewrite?: boolean
558
606
  fontSize: number
559
607
  page: number
608
+ /**
609
+ * Bold from the font name, the FontDescriptor's ForceBold flag, the
610
+ * embedded program's bold selection, or text filled and stroked to
611
+ * look heavier. With `{ boldFromWeight: true }` (see [`FrameOptions`])
612
+ * also `true` when `fontWeight` is `boldWeightThreshold` (600 by
613
+ * default) or more. `boldSource` says which.
614
+ */
560
615
  isBold: boolean
561
616
  isItalic: boolean
617
+ /**
618
+ * The font's weight class on the 100..900 scale shared by CSS
619
+ * `font-weight` and the OS/2 `usWeightClass` field (400 regular, 700
620
+ * bold): the embedded font program's OS/2 table, else the
621
+ * FontDescriptor's `/FontWeight`, else a weight word in the font name
622
+ * ("Light", "Medium", "-Md", "Black", "W6"). Omitted when none of them
623
+ * says, and for image, link and form-field items. Independent of
624
+ * `isBold`, which is unchanged: a medium face reports `500` with
625
+ * `isBold: false`.
626
+ */
627
+ fontWeight?: number
628
+ /**
629
+ * Where `isBold` came from — `"FontName"`, `"FontFlags"`,
630
+ * `"WeightClass"` (with `boldFromWeight`) or `"Painted"`, the first of
631
+ * them in that order when more than one says bold — so a verdict can be
632
+ * weighed against `fontWeight`: a face whose name says Bold over a
633
+ * weight class of 400 reports `"FontName"`. Omitted when `isBold` is
634
+ * `false`, and for image, link and form-field items.
635
+ */
636
+ boldSource?: BoldSource
637
+ /**
638
+ * Whether the font is fixed-pitch (monospaced): `true` when the
639
+ * FontDescriptor's FixedPitch flag or the embedded program's `post`
640
+ * table says so, else measured from the font's width table — `true`
641
+ * when a dozen or more of its glyphs share one advance, `false` when
642
+ * two differ. Omitted when the font declares nothing and no two
643
+ * advances differ but fewer than a dozen share one, and for image,
644
+ * link and form-field items.
645
+ * Many producers write `/Flags 4` whatever the face, so the flag is
646
+ * only ever read as a yes.
647
+ */
648
+ fixedPitch?: boolean
562
649
  /**
563
650
  * Underline detected geometrically (drawn rule/thin rect under the
564
651
  * baseline) — PDFs carry no underline font flag.
package/index.js CHANGED
@@ -77,8 +77,8 @@ function requireNative() {
77
77
  try {
78
78
  const binding = require('@firecrawl/pdf-inspector-android-arm64')
79
79
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-android-arm64/package.json').version
80
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
81
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
80
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
81
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
82
82
  }
83
83
  return binding
84
84
  } catch (e) {
@@ -93,8 +93,8 @@ function requireNative() {
93
93
  try {
94
94
  const binding = require('@firecrawl/pdf-inspector-android-arm-eabi')
95
95
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-android-arm-eabi/package.json').version
96
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
97
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
96
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
97
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
98
98
  }
99
99
  return binding
100
100
  } catch (e) {
@@ -114,8 +114,8 @@ function requireNative() {
114
114
  try {
115
115
  const binding = require('@firecrawl/pdf-inspector-win32-x64-gnu')
116
116
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-win32-x64-gnu/package.json').version
117
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
118
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
117
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
118
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
119
119
  }
120
120
  return binding
121
121
  } catch (e) {
@@ -130,8 +130,8 @@ function requireNative() {
130
130
  try {
131
131
  const binding = require('@firecrawl/pdf-inspector-win32-x64-msvc')
132
132
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-win32-x64-msvc/package.json').version
133
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
134
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
133
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
134
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
135
135
  }
136
136
  return binding
137
137
  } catch (e) {
@@ -147,8 +147,8 @@ function requireNative() {
147
147
  try {
148
148
  const binding = require('@firecrawl/pdf-inspector-win32-ia32-msvc')
149
149
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-win32-ia32-msvc/package.json').version
150
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
151
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
150
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
151
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
152
152
  }
153
153
  return binding
154
154
  } catch (e) {
@@ -163,8 +163,8 @@ function requireNative() {
163
163
  try {
164
164
  const binding = require('@firecrawl/pdf-inspector-win32-arm64-msvc')
165
165
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-win32-arm64-msvc/package.json').version
166
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
167
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
166
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
167
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
168
168
  }
169
169
  return binding
170
170
  } catch (e) {
@@ -182,8 +182,8 @@ function requireNative() {
182
182
  try {
183
183
  const binding = require('@firecrawl/pdf-inspector-darwin-universal')
184
184
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-darwin-universal/package.json').version
185
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
186
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
185
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
186
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
187
187
  }
188
188
  return binding
189
189
  } catch (e) {
@@ -198,8 +198,8 @@ function requireNative() {
198
198
  try {
199
199
  const binding = require('@firecrawl/pdf-inspector-darwin-x64')
200
200
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-darwin-x64/package.json').version
201
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
202
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
201
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
202
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
203
203
  }
204
204
  return binding
205
205
  } catch (e) {
@@ -214,8 +214,8 @@ function requireNative() {
214
214
  try {
215
215
  const binding = require('@firecrawl/pdf-inspector-darwin-arm64')
216
216
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-darwin-arm64/package.json').version
217
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
218
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
217
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
218
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
219
219
  }
220
220
  return binding
221
221
  } catch (e) {
@@ -234,8 +234,8 @@ function requireNative() {
234
234
  try {
235
235
  const binding = require('@firecrawl/pdf-inspector-freebsd-x64')
236
236
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-freebsd-x64/package.json').version
237
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
238
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
237
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
238
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
239
239
  }
240
240
  return binding
241
241
  } catch (e) {
@@ -250,8 +250,8 @@ function requireNative() {
250
250
  try {
251
251
  const binding = require('@firecrawl/pdf-inspector-freebsd-arm64')
252
252
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-freebsd-arm64/package.json').version
253
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
254
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
253
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
254
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
255
255
  }
256
256
  return binding
257
257
  } catch (e) {
@@ -271,8 +271,8 @@ function requireNative() {
271
271
  try {
272
272
  const binding = require('@firecrawl/pdf-inspector-linux-x64-musl')
273
273
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-x64-musl/package.json').version
274
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
275
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
274
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
275
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
276
276
  }
277
277
  return binding
278
278
  } catch (e) {
@@ -287,8 +287,8 @@ function requireNative() {
287
287
  try {
288
288
  const binding = require('@firecrawl/pdf-inspector-linux-x64-gnu')
289
289
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-x64-gnu/package.json').version
290
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
291
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
290
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
291
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
292
292
  }
293
293
  return binding
294
294
  } catch (e) {
@@ -305,8 +305,8 @@ function requireNative() {
305
305
  try {
306
306
  const binding = require('@firecrawl/pdf-inspector-linux-arm64-musl')
307
307
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-arm64-musl/package.json').version
308
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
309
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
308
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
309
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
310
310
  }
311
311
  return binding
312
312
  } catch (e) {
@@ -321,8 +321,8 @@ function requireNative() {
321
321
  try {
322
322
  const binding = require('@firecrawl/pdf-inspector-linux-arm64-gnu')
323
323
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-arm64-gnu/package.json').version
324
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
325
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
324
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
325
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
326
326
  }
327
327
  return binding
328
328
  } catch (e) {
@@ -339,8 +339,8 @@ function requireNative() {
339
339
  try {
340
340
  const binding = require('@firecrawl/pdf-inspector-linux-arm-musleabihf')
341
341
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-arm-musleabihf/package.json').version
342
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
343
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
342
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
343
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
344
344
  }
345
345
  return binding
346
346
  } catch (e) {
@@ -355,8 +355,8 @@ function requireNative() {
355
355
  try {
356
356
  const binding = require('@firecrawl/pdf-inspector-linux-arm-gnueabihf')
357
357
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-arm-gnueabihf/package.json').version
358
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
359
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
358
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
359
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
360
360
  }
361
361
  return binding
362
362
  } catch (e) {
@@ -373,8 +373,8 @@ function requireNative() {
373
373
  try {
374
374
  const binding = require('@firecrawl/pdf-inspector-linux-loong64-musl')
375
375
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-loong64-musl/package.json').version
376
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
377
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
376
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
377
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
378
378
  }
379
379
  return binding
380
380
  } catch (e) {
@@ -389,8 +389,8 @@ function requireNative() {
389
389
  try {
390
390
  const binding = require('@firecrawl/pdf-inspector-linux-loong64-gnu')
391
391
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-loong64-gnu/package.json').version
392
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
393
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
392
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
393
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
394
394
  }
395
395
  return binding
396
396
  } catch (e) {
@@ -407,8 +407,8 @@ function requireNative() {
407
407
  try {
408
408
  const binding = require('@firecrawl/pdf-inspector-linux-riscv64-musl')
409
409
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-riscv64-musl/package.json').version
410
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
411
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
410
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
411
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
412
412
  }
413
413
  return binding
414
414
  } catch (e) {
@@ -423,8 +423,8 @@ function requireNative() {
423
423
  try {
424
424
  const binding = require('@firecrawl/pdf-inspector-linux-riscv64-gnu')
425
425
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-riscv64-gnu/package.json').version
426
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
427
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
426
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
427
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
428
428
  }
429
429
  return binding
430
430
  } catch (e) {
@@ -440,8 +440,8 @@ function requireNative() {
440
440
  try {
441
441
  const binding = require('@firecrawl/pdf-inspector-linux-ppc64-gnu')
442
442
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-ppc64-gnu/package.json').version
443
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
444
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
443
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
444
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
445
445
  }
446
446
  return binding
447
447
  } catch (e) {
@@ -456,8 +456,8 @@ function requireNative() {
456
456
  try {
457
457
  const binding = require('@firecrawl/pdf-inspector-linux-s390x-gnu')
458
458
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-linux-s390x-gnu/package.json').version
459
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
460
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
459
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
460
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
461
461
  }
462
462
  return binding
463
463
  } catch (e) {
@@ -476,8 +476,8 @@ function requireNative() {
476
476
  try {
477
477
  const binding = require('@firecrawl/pdf-inspector-openharmony-arm64')
478
478
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-openharmony-arm64/package.json').version
479
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
480
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
479
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
480
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
481
481
  }
482
482
  return binding
483
483
  } catch (e) {
@@ -492,8 +492,8 @@ function requireNative() {
492
492
  try {
493
493
  const binding = require('@firecrawl/pdf-inspector-openharmony-x64')
494
494
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-openharmony-x64/package.json').version
495
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
496
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
495
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
496
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
497
497
  }
498
498
  return binding
499
499
  } catch (e) {
@@ -508,8 +508,8 @@ function requireNative() {
508
508
  try {
509
509
  const binding = require('@firecrawl/pdf-inspector-openharmony-arm')
510
510
  const bindingPackageVersion = require('@firecrawl/pdf-inspector-openharmony-arm/package.json').version
511
- if (bindingPackageVersion !== '1.20.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
512
- throw new Error(`Native binding package version mismatch, expected 1.20.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
511
+ if (bindingPackageVersion !== '1.22.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
512
+ throw new Error(`Native binding package version mismatch, expected 1.22.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
513
513
  }
514
514
  return binding
515
515
  } catch (e) {
@@ -576,6 +576,7 @@ if (!nativeBinding) {
576
576
  }
577
577
 
578
578
  module.exports = nativeBinding
579
+ module.exports.BoldSource = nativeBinding.BoldSource
579
580
  module.exports.classifyPdf = nativeBinding.classifyPdf
580
581
  module.exports.classifyPdfAsync = nativeBinding.classifyPdfAsync
581
582
  module.exports.detectPdf = nativeBinding.detectPdf
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firecrawl/pdf-inspector",
3
- "version": "1.20.0",
3
+ "version": "1.22.0",
4
4
  "description": "Fast PDF classification and text extraction. Detect text-based vs scanned PDFs, extract text by region with quality checks. Native Rust performance via napi-rs.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -52,11 +52,11 @@
52
52
  "@napi-rs/cli": "^3.4.1"
53
53
  },
54
54
  "optionalDependencies": {
55
- "@firecrawl/pdf-inspector-linux-x64-gnu": "1.20.0",
56
- "@firecrawl/pdf-inspector-linux-x64-musl": "1.20.0",
57
- "@firecrawl/pdf-inspector-linux-arm64-gnu": "1.20.0",
58
- "@firecrawl/pdf-inspector-linux-arm64-musl": "1.20.0",
59
- "@firecrawl/pdf-inspector-darwin-arm64": "1.20.0",
60
- "@firecrawl/pdf-inspector-win32-x64-msvc": "1.20.0"
55
+ "@firecrawl/pdf-inspector-linux-x64-gnu": "1.22.0",
56
+ "@firecrawl/pdf-inspector-linux-x64-musl": "1.22.0",
57
+ "@firecrawl/pdf-inspector-linux-arm64-gnu": "1.22.0",
58
+ "@firecrawl/pdf-inspector-linux-arm64-musl": "1.22.0",
59
+ "@firecrawl/pdf-inspector-darwin-arm64": "1.22.0",
60
+ "@firecrawl/pdf-inspector-win32-x64-msvc": "1.22.0"
61
61
  }
62
62
  }