pdf-parser.js 4.7.0 → 4.8.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.
@@ -0,0 +1,83 @@
1
+ import { PdfDiagnosticSink } from "./diagnostics.cjs";
2
+ import { Color } from "document-schema.js";
3
+ //#region src/raster.d.ts
4
+ type RasterMatrix = readonly [number, number, number, number, number, number];
5
+ type RasterPathSegment = {
6
+ readonly kind: "line";
7
+ readonly xPx: number;
8
+ readonly yPx: number;
9
+ } | {
10
+ readonly kind: "cubic";
11
+ readonly c1xPx: number;
12
+ readonly c1yPx: number;
13
+ readonly c2xPx: number;
14
+ readonly c2yPx: number;
15
+ readonly xPx: number;
16
+ readonly yPx: number;
17
+ };
18
+ interface RasterSubpath {
19
+ readonly startXPx: number;
20
+ readonly startYPx: number;
21
+ readonly segments: readonly RasterPathSegment[];
22
+ readonly closed: boolean;
23
+ }
24
+ interface RasterFillSpec {
25
+ readonly color: Color;
26
+ readonly fillRule: "nonzero" | "evenodd";
27
+ }
28
+ interface RasterStrokeSpec {
29
+ readonly color: Color;
30
+ readonly widthPx: number;
31
+ readonly dashPx?: readonly number[];
32
+ }
33
+ interface RasterFillRectOp {
34
+ readonly kind: "fillRect";
35
+ readonly xPx: number;
36
+ readonly yPx: number;
37
+ readonly widthPx: number;
38
+ readonly heightPx: number;
39
+ readonly color: Color;
40
+ }
41
+ interface RasterPathOp {
42
+ readonly kind: "path";
43
+ readonly subpaths: readonly RasterSubpath[];
44
+ readonly fill?: RasterFillSpec;
45
+ readonly stroke?: RasterStrokeSpec;
46
+ }
47
+ interface RasterImageOp {
48
+ readonly kind: "image";
49
+ readonly format: "png" | "jpeg";
50
+ readonly bytes: Uint8Array<ArrayBuffer>;
51
+ readonly sourceWidthPx: number;
52
+ readonly sourceHeightPx: number;
53
+ readonly matrix: RasterMatrix;
54
+ }
55
+ type RasterDrawOp = RasterFillRectOp | RasterPathOp | RasterImageOp;
56
+ interface RasterPageGeometry {
57
+ readonly widthPx: number;
58
+ readonly heightPx: number;
59
+ readonly scale: number;
60
+ readonly widthPt: number;
61
+ readonly heightPt: number;
62
+ }
63
+ interface PageRasteriser {
64
+ beginPage(geometry: RasterPageGeometry): void;
65
+ draw(op: RasterDrawOp): void;
66
+ finish(): Uint8Array<ArrayBuffer> | Promise<Uint8Array<ArrayBuffer>>;
67
+ }
68
+ interface RasterRegionPt {
69
+ readonly xPt: number;
70
+ readonly yPt: number;
71
+ readonly widthPt: number;
72
+ readonly heightPt: number;
73
+ }
74
+ interface RenderPdfPageOptions {
75
+ readonly scale?: number;
76
+ readonly dpi?: number;
77
+ readonly clipPt?: RasterRegionPt;
78
+ readonly sink?: PdfDiagnosticSink;
79
+ readonly signal?: AbortSignal;
80
+ }
81
+ declare function renderPdfPage(pdfBytes: Uint8Array<ArrayBuffer>, pageIndex: number, options: RenderPdfPageOptions, rasteriser: PageRasteriser): Uint8Array<ArrayBuffer> | Promise<Uint8Array<ArrayBuffer>>;
82
+ //#endregion
83
+ export { PageRasteriser, RasterDrawOp, RasterFillRectOp, RasterFillSpec, RasterImageOp, RasterMatrix, RasterPageGeometry, RasterPathOp, RasterPathSegment, RasterRegionPt, RasterStrokeSpec, RasterSubpath, RenderPdfPageOptions, renderPdfPage };
@@ -0,0 +1,83 @@
1
+ import { PdfDiagnosticSink } from "./diagnostics.js";
2
+ import { Color } from "document-schema.js";
3
+ //#region src/raster.d.ts
4
+ type RasterMatrix = readonly [number, number, number, number, number, number];
5
+ type RasterPathSegment = {
6
+ readonly kind: "line";
7
+ readonly xPx: number;
8
+ readonly yPx: number;
9
+ } | {
10
+ readonly kind: "cubic";
11
+ readonly c1xPx: number;
12
+ readonly c1yPx: number;
13
+ readonly c2xPx: number;
14
+ readonly c2yPx: number;
15
+ readonly xPx: number;
16
+ readonly yPx: number;
17
+ };
18
+ interface RasterSubpath {
19
+ readonly startXPx: number;
20
+ readonly startYPx: number;
21
+ readonly segments: readonly RasterPathSegment[];
22
+ readonly closed: boolean;
23
+ }
24
+ interface RasterFillSpec {
25
+ readonly color: Color;
26
+ readonly fillRule: "nonzero" | "evenodd";
27
+ }
28
+ interface RasterStrokeSpec {
29
+ readonly color: Color;
30
+ readonly widthPx: number;
31
+ readonly dashPx?: readonly number[];
32
+ }
33
+ interface RasterFillRectOp {
34
+ readonly kind: "fillRect";
35
+ readonly xPx: number;
36
+ readonly yPx: number;
37
+ readonly widthPx: number;
38
+ readonly heightPx: number;
39
+ readonly color: Color;
40
+ }
41
+ interface RasterPathOp {
42
+ readonly kind: "path";
43
+ readonly subpaths: readonly RasterSubpath[];
44
+ readonly fill?: RasterFillSpec;
45
+ readonly stroke?: RasterStrokeSpec;
46
+ }
47
+ interface RasterImageOp {
48
+ readonly kind: "image";
49
+ readonly format: "png" | "jpeg";
50
+ readonly bytes: Uint8Array<ArrayBuffer>;
51
+ readonly sourceWidthPx: number;
52
+ readonly sourceHeightPx: number;
53
+ readonly matrix: RasterMatrix;
54
+ }
55
+ type RasterDrawOp = RasterFillRectOp | RasterPathOp | RasterImageOp;
56
+ interface RasterPageGeometry {
57
+ readonly widthPx: number;
58
+ readonly heightPx: number;
59
+ readonly scale: number;
60
+ readonly widthPt: number;
61
+ readonly heightPt: number;
62
+ }
63
+ interface PageRasteriser {
64
+ beginPage(geometry: RasterPageGeometry): void;
65
+ draw(op: RasterDrawOp): void;
66
+ finish(): Uint8Array<ArrayBuffer> | Promise<Uint8Array<ArrayBuffer>>;
67
+ }
68
+ interface RasterRegionPt {
69
+ readonly xPt: number;
70
+ readonly yPt: number;
71
+ readonly widthPt: number;
72
+ readonly heightPt: number;
73
+ }
74
+ interface RenderPdfPageOptions {
75
+ readonly scale?: number;
76
+ readonly dpi?: number;
77
+ readonly clipPt?: RasterRegionPt;
78
+ readonly sink?: PdfDiagnosticSink;
79
+ readonly signal?: AbortSignal;
80
+ }
81
+ declare function renderPdfPage(pdfBytes: Uint8Array<ArrayBuffer>, pageIndex: number, options: RenderPdfPageOptions, rasteriser: PageRasteriser): Uint8Array<ArrayBuffer> | Promise<Uint8Array<ArrayBuffer>>;
82
+ //#endregion
83
+ export { PageRasteriser, RasterDrawOp, RasterFillRectOp, RasterFillSpec, RasterImageOp, RasterMatrix, RasterPageGeometry, RasterPathOp, RasterPathSegment, RasterRegionPt, RasterStrokeSpec, RasterSubpath, RenderPdfPageOptions, renderPdfPage };