@markitdownjs/pdf 0.1.0 → 0.2.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.
- package/LICENSE +21 -0
- package/README.md +57 -0
- package/dist/pdf-converter.d.ts.map +1 -1
- package/dist/pdf-converter.js +61 -21
- package/dist/pdf-converter.js.map +1 -1
- package/package.json +3 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 MarkItDownJS Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# @markitdownjs/pdf
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@markitdownjs/pdf)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
PDF to AST converter for MarkItDownJS, powered by `pdfjs-dist`. Extracts text content, document structure, metadata, and page information.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install @markitdownjs/pdf
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
`pdfjs-dist` is a peer dependency and will be installed automatically.
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import { MarkItDown } from "@markitdownjs/core";
|
|
20
|
+
import { PdfConverter } from "@markitdownjs/pdf";
|
|
21
|
+
|
|
22
|
+
const parser = new MarkItDown();
|
|
23
|
+
parser.registerConverter(new PdfConverter());
|
|
24
|
+
|
|
25
|
+
const result = await parser.convert({ source: pdfBuffer, mimeType: "application/pdf" });
|
|
26
|
+
console.log(result.markdown);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Key Exports
|
|
30
|
+
|
|
31
|
+
| Export | Description |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `PdfConverter` | Converter plugin — register with `MarkItDown` |
|
|
34
|
+
|
|
35
|
+
## What Gets Extracted
|
|
36
|
+
|
|
37
|
+
- Text content with paragraph and heading detection
|
|
38
|
+
- Page boundaries (preserved as `pageNumber` in AST nodes)
|
|
39
|
+
- Document metadata: title, author, creation date, subject
|
|
40
|
+
- Multi-column layout heuristics
|
|
41
|
+
|
|
42
|
+
## Options
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
parser.registerConverter(new PdfConverter({
|
|
46
|
+
extractMetadata: true,
|
|
47
|
+
preservePageBreaks: true,
|
|
48
|
+
}));
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Accepted MIME Types
|
|
52
|
+
|
|
53
|
+
- `application/pdf`
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
Part of the [MarkItDownJS](https://github.com/markitdownjs/markitdownjs) monorepo.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-converter.d.ts","sourceRoot":"","sources":["../src/pdf-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAIjB,MAAM,sBAAsB,CAAC;AAW9B,8DAA8D;AAC9D,qBAAa,YAAa,YAAW,SAAS;IAC5C,QAAQ,CAAC,EAAE,EAAG,KAAK,CAAU;IAC7B,QAAQ,CAAC,kBAAkB,WAAuB;IAClD,QAAQ,CAAC,mBAAmB,WAAY;IAExC;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf-converter.d.ts","sourceRoot":"","sources":["../src/pdf-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAIjB,MAAM,sBAAsB,CAAC;AAW9B,8DAA8D;AAC9D,qBAAa,YAAa,YAAW,SAAS;IAC5C,QAAQ,CAAC,EAAE,EAAG,KAAK,CAAU;IAC7B,QAAQ,CAAC,kBAAkB,WAAuB;IAClD,QAAQ,CAAC,mBAAmB,WAAY;IAExC;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB1D;;;;;;;;;;OAUG;IACG,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuNhE;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;OAIG;YACW,WAAW;CAe1B"}
|
package/dist/pdf-converter.js
CHANGED
|
@@ -21,9 +21,7 @@ export class PdfConverter {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
if (input.data instanceof Uint8Array || input.data instanceof ArrayBuffer) {
|
|
24
|
-
const bytes = input.data instanceof Uint8Array
|
|
25
|
-
? input.data
|
|
26
|
-
: new Uint8Array(input.data);
|
|
24
|
+
const bytes = input.data instanceof Uint8Array ? input.data : new Uint8Array(input.data);
|
|
27
25
|
if (bytes.length >= 4 &&
|
|
28
26
|
bytes[0] === 0x25 &&
|
|
29
27
|
bytes[1] === 0x50 &&
|
|
@@ -49,18 +47,40 @@ export class PdfConverter {
|
|
|
49
47
|
const startTime = Date.now();
|
|
50
48
|
const data = await this.toByteArray(input.data);
|
|
51
49
|
const renderer = new MarkdownRenderer();
|
|
50
|
+
const opts = input.options ?? {};
|
|
51
|
+
const ratios = opts.headingSizeRatios ?? {};
|
|
52
52
|
let ast;
|
|
53
53
|
let markdown;
|
|
54
54
|
const headings = [];
|
|
55
55
|
const tables = [];
|
|
56
56
|
let pageCount = 0;
|
|
57
|
+
let pdfTitle = "";
|
|
58
|
+
let pdfAuthor = "";
|
|
57
59
|
try {
|
|
58
|
-
|
|
59
|
-
//
|
|
60
|
-
|
|
61
|
-
const
|
|
60
|
+
// Use the legacy entry — runs under Node.js without a separate worker file.
|
|
61
|
+
// The non-legacy entry pulls in a Worker constructor reference that crashes
|
|
62
|
+
// pdfjs's fake-worker bootstrap when Worker is undefined.
|
|
63
|
+
const pdfjsLib = await import("pdfjs-dist/legacy/build/pdf.mjs");
|
|
64
|
+
const loadingTask = pdfjsLib.getDocument({
|
|
65
|
+
data,
|
|
66
|
+
// pdfjs runs `eval()` in some font/cmap paths; disable for safety + Node compat.
|
|
67
|
+
isEvalSupported: false,
|
|
68
|
+
// Inline the worker when no Worker global exists (Node.js).
|
|
69
|
+
// Not in DocumentInitParameters types but accepted at runtime by the legacy build.
|
|
70
|
+
...(typeof Worker === "undefined" ? { disableWorker: true } : {}),
|
|
71
|
+
});
|
|
62
72
|
const pdf = await loadingTask.promise;
|
|
63
73
|
pageCount = pdf.numPages;
|
|
74
|
+
// Extract PDF document metadata when available.
|
|
75
|
+
try {
|
|
76
|
+
const meta = await pdf.getMetadata();
|
|
77
|
+
const info = (meta?.info ?? {});
|
|
78
|
+
pdfTitle = typeof info.Title === "string" ? info.Title : "";
|
|
79
|
+
pdfAuthor = typeof info.Author === "string" ? info.Author : "";
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Metadata is best-effort.
|
|
83
|
+
}
|
|
64
84
|
const pageNodes = [];
|
|
65
85
|
for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {
|
|
66
86
|
const page = await pdf.getPage(pageNum);
|
|
@@ -104,24 +124,20 @@ export class PdfConverter {
|
|
|
104
124
|
const trimmed = currentLine.trim();
|
|
105
125
|
if (!trimmed)
|
|
106
126
|
return;
|
|
107
|
-
const heading = this.classifyHeading(trimmed, lastFontSize, bodyFontSize);
|
|
127
|
+
const heading = this.classifyHeading(trimmed, lastFontSize, bodyFontSize, ratios);
|
|
108
128
|
if (heading) {
|
|
109
129
|
headings.push(heading);
|
|
110
130
|
const level = heading.level;
|
|
111
131
|
pageNodes.push(createNode({
|
|
112
132
|
type: "heading",
|
|
113
133
|
level,
|
|
114
|
-
children: [
|
|
115
|
-
createNode({ type: "text", value: heading.text }),
|
|
116
|
-
],
|
|
134
|
+
children: [createNode({ type: "text", value: heading.text })],
|
|
117
135
|
}));
|
|
118
136
|
}
|
|
119
137
|
else {
|
|
120
138
|
pageNodes.push(createNode({
|
|
121
139
|
type: "paragraph",
|
|
122
|
-
children: [
|
|
123
|
-
createNode({ type: "text", value: trimmed }),
|
|
124
|
-
],
|
|
140
|
+
children: [createNode({ type: "text", value: trimmed })],
|
|
125
141
|
}));
|
|
126
142
|
}
|
|
127
143
|
currentLine = "";
|
|
@@ -158,6 +174,21 @@ export class PdfConverter {
|
|
|
158
174
|
children: pageNodes,
|
|
159
175
|
});
|
|
160
176
|
markdown = renderer.render(ast);
|
|
177
|
+
// Apply post-render options.
|
|
178
|
+
if (opts.pageBreakMarker) {
|
|
179
|
+
markdown = markdown.replace(/\n\n---\n\n/g, `\n\n${opts.pageBreakMarker}\n\n`);
|
|
180
|
+
}
|
|
181
|
+
if (opts.injectFrontmatter) {
|
|
182
|
+
const fm = ["---"];
|
|
183
|
+
const yamlEscape = (s) => s.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
184
|
+
if (pdfTitle)
|
|
185
|
+
fm.push(`title: "${yamlEscape(pdfTitle)}"`);
|
|
186
|
+
if (pdfAuthor)
|
|
187
|
+
fm.push(`author: "${yamlEscape(pdfAuthor)}"`);
|
|
188
|
+
fm.push(`pages: ${pageCount}`);
|
|
189
|
+
fm.push("---");
|
|
190
|
+
markdown = fm.join("\n") + "\n\n" + markdown;
|
|
191
|
+
}
|
|
161
192
|
}
|
|
162
193
|
catch {
|
|
163
194
|
ast = createNode({
|
|
@@ -181,6 +212,8 @@ export class PdfConverter {
|
|
|
181
212
|
markdown,
|
|
182
213
|
metadata: {
|
|
183
214
|
pageCount,
|
|
215
|
+
...(pdfTitle && { title: pdfTitle }),
|
|
216
|
+
...(pdfAuthor && { author: pdfAuthor }),
|
|
184
217
|
format: "application/pdf",
|
|
185
218
|
source: "pdfjs-dist",
|
|
186
219
|
},
|
|
@@ -226,18 +259,18 @@ export class PdfConverter {
|
|
|
226
259
|
* @param bodyFontSize - The most common (body) font size in the document.
|
|
227
260
|
* @returns A HeadingInfo if the line qualifies as a heading, otherwise undefined.
|
|
228
261
|
*/
|
|
229
|
-
classifyHeading(text, fontSize, bodyFontSize) {
|
|
262
|
+
classifyHeading(text, fontSize, bodyFontSize, ratios = {}) {
|
|
230
263
|
const trimmed = text.trim();
|
|
231
264
|
if (!trimmed)
|
|
232
265
|
return undefined;
|
|
233
266
|
// Use relative sizing when a body font size is known.
|
|
234
267
|
if (bodyFontSize > 0) {
|
|
235
268
|
const ratio = fontSize / bodyFontSize;
|
|
236
|
-
if (ratio > 1.8)
|
|
269
|
+
if (ratio > (ratios.h1 ?? 1.8))
|
|
237
270
|
return { level: 1, text: trimmed };
|
|
238
|
-
if (ratio > 1.4)
|
|
271
|
+
if (ratio > (ratios.h2 ?? 1.4))
|
|
239
272
|
return { level: 2, text: trimmed };
|
|
240
|
-
if (ratio > 1.15)
|
|
273
|
+
if (ratio > (ratios.h3 ?? 1.15))
|
|
241
274
|
return { level: 3, text: trimmed };
|
|
242
275
|
return undefined;
|
|
243
276
|
}
|
|
@@ -256,12 +289,19 @@ export class PdfConverter {
|
|
|
256
289
|
* @returns The data as a Uint8Array.
|
|
257
290
|
*/
|
|
258
291
|
async toByteArray(data) {
|
|
259
|
-
if (data instanceof Uint8Array)
|
|
260
|
-
|
|
292
|
+
if (data instanceof Uint8Array) {
|
|
293
|
+
// Node.js Buffer is a Uint8Array subclass, but pdfjs-dist v4+ rejects it with
|
|
294
|
+
// "Please provide binary data as Uint8Array, rather than Buffer." Re-wrap so
|
|
295
|
+
// the constructor is exactly Uint8Array.
|
|
296
|
+
return data.constructor === Uint8Array
|
|
297
|
+
? data
|
|
298
|
+
: new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
299
|
+
}
|
|
261
300
|
if (data instanceof ArrayBuffer)
|
|
262
301
|
return new Uint8Array(data);
|
|
263
|
-
if (data instanceof Blob)
|
|
302
|
+
if (typeof Blob !== "undefined" && data instanceof Blob) {
|
|
264
303
|
return new Uint8Array(await data.arrayBuffer());
|
|
304
|
+
}
|
|
265
305
|
return new TextEncoder().encode(data);
|
|
266
306
|
}
|
|
267
307
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-converter.js","sourceRoot":"","sources":["../src/pdf-converter.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,UAAU,GAMX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,8DAA8D;AAC9D,MAAM,OAAO,YAAY;IACd,EAAE,GAAG,KAAc,CAAC;IACpB,kBAAkB,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,mBAAmB,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAsB;QACrC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,YAAY,UAAU,IAAI,KAAK,CAAC,IAAI,YAAY,WAAW,EAAE,CAAC;YAC1E,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"pdf-converter.js","sourceRoot":"","sources":["../src/pdf-converter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markitdownjs/pdf",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "PDF converter for MarkItDownJS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"pdfjs-dist": "^4.0.0",
|
|
21
|
-
"@markitdownjs/shared": "0.
|
|
22
|
-
"@markitdownjs/ast": "0.1.
|
|
21
|
+
"@markitdownjs/shared": "0.2.0",
|
|
22
|
+
"@markitdownjs/ast": "0.1.2"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.5.0"
|