dompdf.js 1.0.4 → 1.1.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/.vscode/settings.json +5 -0
- package/README.md +168 -79
- package/dist/dom/element-container.d.ts +4 -2
- package/dist/dompdf.esm.js +607 -455
- package/dist/dompdf.esm.js.map +1 -1
- package/dist/dompdf.js +607 -455
- package/dist/dompdf.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/lib/__tests__/index.js.map +1 -1
- package/dist/lib/css/property-descriptors/border-style.js.map +1 -1
- package/dist/lib/css/types/color.js.map +1 -1
- package/dist/lib/dom/element-container.js +3 -1
- package/dist/lib/dom/element-container.js.map +1 -1
- package/dist/lib/dom/node-parser.js +15 -7
- package/dist/lib/dom/node-parser.js.map +1 -1
- package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
- package/dist/lib/index.js +107 -42
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
- package/dist/lib/render/canvas/pdf-renderer.js +268 -464
- package/dist/lib/render/canvas/pdf-renderer.js.map +1 -1
- package/dist/lib/render/page-format-map.js +54 -0
- package/dist/lib/render/page-format-map.js.map +1 -0
- package/dist/lib/render/paginate.js +172 -0
- package/dist/lib/render/paginate.js.map +1 -0
- package/dist/render/canvas/pdf-renderer.d.ts +41 -16
- package/dist/render/page-format-map.d.ts +4 -0
- package/dist/render/paginate.d.ts +3 -0
- package/dist/types/dom/element-container.d.ts +4 -2
- package/dist/types/index.d.ts +1 -3
- package/dist/types/render/canvas/pdf-renderer.d.ts +41 -16
- package/dist/types/render/page-format-map.d.ts +4 -0
- package/dist/types/render/paginate.d.ts +3 -0
- package/package.json +3 -2
- package/dist/lib/render/canvas/canvas-renderer2.js +0 -1415
- package/dist/lib/render/canvas/canvas-renderer2.js.map +0 -1
- package/dist/render/canvas/canvas-renderer2.d.ts +0 -81
- package/dist/types/render/canvas/canvas-renderer2.d.ts +0 -81
|
@@ -14,14 +14,29 @@ import { ElementPaint, StackingContext } from '../stacking-context';
|
|
|
14
14
|
interface FontConfig {
|
|
15
15
|
fontFamily: string;
|
|
16
16
|
fontBase64: string;
|
|
17
|
-
fontUrl: string;
|
|
18
|
-
fontWeight: number;
|
|
19
|
-
fontStyle: string;
|
|
20
17
|
}
|
|
21
18
|
export type RenderConfigurations = RenderOptions & {
|
|
22
19
|
backgroundColor: Color | null;
|
|
23
20
|
fontConfig: FontConfig;
|
|
24
21
|
};
|
|
22
|
+
export type pageConfigOptions = {
|
|
23
|
+
header: {
|
|
24
|
+
content: string;
|
|
25
|
+
height: number;
|
|
26
|
+
contentPosition: 'center' | 'centerLeft' | 'centerRight' | 'centerTop' | 'centerBottom' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom' | [number, number];
|
|
27
|
+
contentColor: string;
|
|
28
|
+
contentFontSize: number;
|
|
29
|
+
padding?: [number, number, number, number];
|
|
30
|
+
};
|
|
31
|
+
footer: {
|
|
32
|
+
content: string;
|
|
33
|
+
height: number;
|
|
34
|
+
contentPosition: 'center' | 'centerLeft' | 'centerRight' | 'centerTop' | 'centerBottom' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom' | [number, number];
|
|
35
|
+
contentColor: string;
|
|
36
|
+
contentFontSize: number;
|
|
37
|
+
padding?: [number, number, number, number];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
25
40
|
export interface RenderOptions {
|
|
26
41
|
scale: number;
|
|
27
42
|
canvas?: HTMLCanvasElement;
|
|
@@ -30,6 +45,18 @@ export interface RenderOptions {
|
|
|
30
45
|
width: number;
|
|
31
46
|
height: number;
|
|
32
47
|
pdfFileName?: string;
|
|
48
|
+
encryption?: {
|
|
49
|
+
userPassword?: string;
|
|
50
|
+
ownerPassword?: string;
|
|
51
|
+
userPermissions?: string[];
|
|
52
|
+
};
|
|
53
|
+
precision?: number;
|
|
54
|
+
floatPrecision?: number | 'smart';
|
|
55
|
+
compress?: boolean;
|
|
56
|
+
putOnlyUsedFonts?: boolean;
|
|
57
|
+
pagination?: boolean;
|
|
58
|
+
format?: 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'a6' | 'a7' | 'a8' | 'a9' | 'a10' | 'b0' | 'b1' | 'b2' | 'b3' | 'b4' | 'b5' | 'b6' | 'b7' | 'b8' | 'b9' | 'b10' | 'c0' | 'c1' | 'c2' | 'c3' | 'c4' | 'c5' | 'c6' | 'c7' | 'c8' | 'c9' | 'c10' | 'dl' | 'letter' | 'government-letter' | 'legal' | 'junior-legal' | 'ledger' | 'tabloid' | 'credit-card';
|
|
59
|
+
pageConfig?: pageConfigOptions;
|
|
33
60
|
}
|
|
34
61
|
export declare class CanvasRenderer extends Renderer {
|
|
35
62
|
canvas: HTMLCanvasElement;
|
|
@@ -39,9 +66,9 @@ export declare class CanvasRenderer extends Renderer {
|
|
|
39
66
|
private readonly _activeEffects;
|
|
40
67
|
private readonly fontMetrics;
|
|
41
68
|
private readonly pxToPt;
|
|
69
|
+
private totalPages;
|
|
42
70
|
constructor(context: Context, options: RenderConfigurations);
|
|
43
71
|
loadFont(): Promise<void>;
|
|
44
|
-
loadFontFromURL(url: string): Promise<unknown>;
|
|
45
72
|
addFontToJsPDF(fontData: string): void;
|
|
46
73
|
applyEffects(effects: IElementEffect[]): void;
|
|
47
74
|
applyEffect(effect: IElementEffect): void;
|
|
@@ -61,20 +88,18 @@ export declare class CanvasRenderer extends Renderer {
|
|
|
61
88
|
renderRepeat(path: Path[], pattern: CanvasPattern | CanvasGradient, offsetX: number, offsetY: number): void;
|
|
62
89
|
resizeImage(image: HTMLImageElement, width: number, height: number): HTMLCanvasElement | HTMLImageElement;
|
|
63
90
|
renderBackgroundImage(container: ElementContainer): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* 渲染实线边框
|
|
66
|
-
* @param color - 边框颜色
|
|
67
|
-
* @param side - 边的位置(0-3,分别代表上右下左)
|
|
68
|
-
* @param curvePoints - 边框曲线点
|
|
69
|
-
*/
|
|
70
91
|
renderSolidBorder(color: Color, side: number, curvePoints: BoundCurves): Promise<void>;
|
|
71
92
|
renderDoubleBorder(color: Color, width: number, side: number, curvePoints: BoundCurves): Promise<void>;
|
|
72
93
|
renderNodeBackgroundAndBorders(paint: ElementPaint): Promise<void>;
|
|
73
|
-
renderDashedDottedBorder(color: Color,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
94
|
+
renderDashedDottedBorder(color: Color, width: number, side: number, curvePoints: BoundCurves, style: BORDER_STYLE): Promise<void>;
|
|
95
|
+
addPage(offsetY: number): Promise<void>;
|
|
96
|
+
renderPage(element: ElementContainer, pageNum: number): Promise<void>;
|
|
97
|
+
setTotalPages(total: number): void;
|
|
98
|
+
private setTextColorFromString;
|
|
99
|
+
private safe;
|
|
100
|
+
private textPdf;
|
|
101
|
+
private computeContentPosition;
|
|
102
|
+
private addImagePdf;
|
|
103
|
+
output(): Promise<Blob>;
|
|
79
104
|
}
|
|
80
105
|
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ElementContainer } from '../dom/element-container';
|
|
2
|
+
import { pageConfigOptions } from './canvas/pdf-renderer';
|
|
3
|
+
export declare const paginateNode: (root: ElementContainer, pageHeight: number, initialOffset?: number, pageConfig?: pageConfigOptions) => ElementContainer[];
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"module": "dist/dompdf.esm.js",
|
|
7
7
|
"typings": "dist/types/index.d.ts",
|
|
8
8
|
"browser": "dist/dompdf.js",
|
|
9
|
-
"version": "1.0
|
|
9
|
+
"version": "1.1.0",
|
|
10
10
|
"author": {
|
|
11
11
|
"name": "lfc",
|
|
12
12
|
"email": "lfc191910@gmail.com",
|
|
@@ -130,5 +130,6 @@
|
|
|
130
130
|
"jspdf": "^2.5.2",
|
|
131
131
|
"svg2pdf.js": "^2.5.0",
|
|
132
132
|
"text-segmentation": "^1.0.3"
|
|
133
|
-
}
|
|
133
|
+
},
|
|
134
|
+
"packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b"
|
|
134
135
|
}
|