forked from opengovsg/pdf2md
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpdf2md.d.ts
49 lines (46 loc) · 1.49 KB
/
pdf2md.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import type {
PDFDocumentProxy,
DocumentInitParameters,
TypedArray,
TextItem,
} from "pdfjs-dist/types/display/api";
interface Page {
index: number;
items: TextItem[];
}
interface Font {
ids: Set<string>;
map: Map<string, any>;
}
interface Metadata {
info: Object;
metadata: {
parsedData: any;
rawData: any;
getRaw: () => any;
get: (name: any) => any;
getAll: () => any;
has: (name: any) => any;
};
}
/**
* Converts a PDF file to a Markdown string.
*
* @param {string | URL | TypedArray | ArrayBuffer | DocumentInitParameters} pdfBuffer - The PDF file to convert.
* @param {object} callbacks - Optional callbacks for various events during the conversion process.
* @param {function} callbacks.metadataParsed - Callback for when metadata is parsed.
* @param {function} callbacks.pageParsed - Callback for when each page is parsed.
* @param {function} callbacks.fontParsed - Callback for when a font is parsed.
* @param {function} callbacks.documentParsed - Callback for when the entire document is parsed.
* @return {Promise<string>} A promise that resolves to the converted Markdown string.
*/
declare function pdf2md(
pdfBuffer: string | URL | TypedArray | ArrayBuffer | DocumentInitParameters,
callbacks?: {
metadataParsed?: (metadata: Metadata) => void;
pageParsed?: (pages: Page[]) => void;
fontParsed?: (font: Font) => void;
documentParsed?: (document: PDFDocumentProxy, pages: Page[]) => void;
}
): Promise<string>;
export default pdf2md;