@mlightcad/cad-pdf-plugin 1.8.0-preview.2 → 1.8.0-preview.4
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 -21
- package/README.md +280 -186
- package/dist/cad-pdf-plugin-register.js +29 -11
- package/dist/cad-pdf-plugin-register.umd.cjs +1 -1
- package/dist/cad-pdf-plugin.js +17568 -8428
- package/dist/cad-pdf-plugin.umd.cjs +847 -13
- package/lib/AcApConvertToPdfCmd.d.ts.map +1 -1
- package/lib/AcApConvertToPdfCmd.js +14 -3
- package/lib/AcApConvertToPdfCmd.js.map +1 -1
- package/lib/AcApImportPdfCmd.d.ts +5 -3
- package/lib/AcApImportPdfCmd.d.ts.map +1 -1
- package/lib/AcApImportPdfCmd.js +5 -3
- package/lib/AcApImportPdfCmd.js.map +1 -1
- package/lib/AcApImportPdfPromptCmd.d.ts +16 -0
- package/lib/AcApImportPdfPromptCmd.d.ts.map +1 -0
- package/lib/AcApImportPdfPromptCmd.js +89 -0
- package/lib/AcApImportPdfPromptCmd.js.map +1 -0
- package/lib/AcApPdfBlockCmd.d.ts +15 -0
- package/lib/AcApPdfBlockCmd.d.ts.map +1 -0
- package/lib/AcApPdfBlockCmd.js +75 -0
- package/lib/AcApPdfBlockCmd.js.map +1 -0
- package/lib/AcApPdfDimCmd.d.ts +20 -0
- package/lib/AcApPdfDimCmd.d.ts.map +1 -0
- package/lib/AcApPdfDimCmd.js +413 -0
- package/lib/AcApPdfDimCmd.js.map +1 -0
- package/lib/AcApPdfDimSession.d.ts +82 -0
- package/lib/AcApPdfDimSession.d.ts.map +1 -0
- package/lib/AcApPdfDimSession.js +252 -0
- package/lib/AcApPdfDimSession.js.map +1 -0
- package/lib/AcApPdfFontResolver.d.ts.map +1 -1
- package/lib/AcApPdfFontResolver.js +2 -5
- package/lib/AcApPdfFontResolver.js.map +1 -1
- package/lib/AcApPdfHatchCmd.d.ts +33 -0
- package/lib/AcApPdfHatchCmd.d.ts.map +1 -0
- package/lib/AcApPdfHatchCmd.js +411 -0
- package/lib/AcApPdfHatchCmd.js.map +1 -0
- package/lib/AcApPdfHatchSession.d.ts +122 -0
- package/lib/AcApPdfHatchSession.d.ts.map +1 -0
- package/lib/AcApPdfHatchSession.js +357 -0
- package/lib/AcApPdfHatchSession.js.map +1 -0
- package/lib/AcApPdfImportConvertor.d.ts +47 -5
- package/lib/AcApPdfImportConvertor.d.ts.map +1 -1
- package/lib/AcApPdfImportConvertor.js +999 -108
- package/lib/AcApPdfImportConvertor.js.map +1 -1
- package/lib/AcApPdfImportOptions.d.ts +116 -0
- package/lib/AcApPdfImportOptions.d.ts.map +1 -0
- package/lib/AcApPdfImportOptions.js +31 -0
- package/lib/AcApPdfImportOptions.js.map +1 -0
- package/lib/AcApPdfImportResources.d.ts +41 -0
- package/lib/AcApPdfImportResources.d.ts.map +1 -0
- package/lib/AcApPdfImportResources.js +52 -0
- package/lib/AcApPdfImportResources.js.map +1 -0
- package/lib/AcApPdfPlugin.d.ts +3 -3
- package/lib/AcApPdfPlugin.d.ts.map +1 -1
- package/lib/AcApPdfPlugin.js +23 -5
- package/lib/AcApPdfPlugin.js.map +1 -1
- package/lib/AcApPdfScaleCmd.d.ts +22 -0
- package/lib/AcApPdfScaleCmd.d.ts.map +1 -0
- package/lib/AcApPdfScaleCmd.js +185 -0
- package/lib/AcApPdfScaleCmd.js.map +1 -0
- package/lib/AcApPdfTextCmd.d.ts +73 -0
- package/lib/AcApPdfTextCmd.d.ts.map +1 -0
- package/lib/AcApPdfTextCmd.js +777 -0
- package/lib/AcApPdfTextCmd.js.map +1 -0
- package/lib/AcApPdfTextSession.d.ts +232 -0
- package/lib/AcApPdfTextSession.d.ts.map +1 -0
- package/lib/AcApPdfTextSession.js +826 -0
- package/lib/AcApPdfTextSession.js.map +1 -0
- package/lib/acapPdfI18n.d.ts +11 -0
- package/lib/acapPdfI18n.d.ts.map +1 -0
- package/lib/acapPdfI18n.js +57 -0
- package/lib/acapPdfI18n.js.map +1 -0
- package/lib/acapPdfPrompts.d.ts +12 -0
- package/lib/acapPdfPrompts.d.ts.map +1 -0
- package/lib/acapPdfPrompts.js +100 -0
- package/lib/acapPdfPrompts.js.map +1 -0
- package/lib/index.d.ts +28 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +28 -0
- package/lib/index.js.map +1 -1
- package/lib/pdfDeprecatedMatching.d.ts +27 -0
- package/lib/pdfDeprecatedMatching.d.ts.map +1 -0
- package/lib/pdfDeprecatedMatching.js +20 -0
- package/lib/pdfDeprecatedMatching.js.map +1 -0
- package/lib/pdfDimStrokeTexts.d.ts +55 -0
- package/lib/pdfDimStrokeTexts.d.ts.map +1 -0
- package/lib/pdfDimStrokeTexts.js +274 -0
- package/lib/pdfDimStrokeTexts.js.map +1 -0
- package/lib/pdfDimensionConvert.d.ts +80 -0
- package/lib/pdfDimensionConvert.d.ts.map +1 -0
- package/lib/pdfDimensionConvert.js +566 -0
- package/lib/pdfDimensionConvert.js.map +1 -0
- package/lib/pdfEntityStrokes.d.ts +13 -0
- package/lib/pdfEntityStrokes.d.ts.map +1 -0
- package/lib/pdfEntityStrokes.js +86 -0
- package/lib/pdfEntityStrokes.js.map +1 -0
- package/lib/pdfHatchRecover.d.ts +57 -0
- package/lib/pdfHatchRecover.d.ts.map +1 -0
- package/lib/pdfHatchRecover.js +315 -0
- package/lib/pdfHatchRecover.js.map +1 -0
- package/lib/pdfImportAppend.d.ts +24 -0
- package/lib/pdfImportAppend.d.ts.map +1 -0
- package/lib/pdfImportAppend.js +35 -0
- package/lib/pdfImportAppend.js.map +1 -0
- package/lib/pdfImportEntities.d.ts +63 -0
- package/lib/pdfImportEntities.d.ts.map +1 -0
- package/lib/pdfImportEntities.js +307 -0
- package/lib/pdfImportEntities.js.map +1 -0
- package/lib/pdfImportImages.d.ts +90 -0
- package/lib/pdfImportImages.d.ts.map +1 -0
- package/lib/pdfImportImages.js +294 -0
- package/lib/pdfImportImages.js.map +1 -0
- package/lib/pdfImportShapes.d.ts +63 -0
- package/lib/pdfImportShapes.d.ts.map +1 -0
- package/lib/pdfImportShapes.js +248 -0
- package/lib/pdfImportShapes.js.map +1 -0
- package/lib/pdfVectorImport.d.ts +218 -5
- package/lib/pdfVectorImport.d.ts.map +1 -1
- package/lib/pdfVectorImport.js +566 -98
- package/lib/pdfVectorImport.js.map +1 -1
- package/lib/recognition/pdfCurveRecognition.d.ts +91 -0
- package/lib/recognition/pdfCurveRecognition.d.ts.map +1 -0
- package/lib/recognition/pdfCurveRecognition.js +506 -0
- package/lib/recognition/pdfCurveRecognition.js.map +1 -0
- package/lib/recognition/pdfDimDigitRecognition.d.ts +18 -0
- package/lib/recognition/pdfDimDigitRecognition.d.ts.map +1 -0
- package/lib/recognition/pdfDimDigitRecognition.js +520 -0
- package/lib/recognition/pdfDimDigitRecognition.js.map +1 -0
- package/lib/recognition/pdfDimensionPattern.d.ts +173 -0
- package/lib/recognition/pdfDimensionPattern.d.ts.map +1 -0
- package/lib/recognition/pdfDimensionPattern.js +1023 -0
- package/lib/recognition/pdfDimensionPattern.js.map +1 -0
- package/lib/recognition/pdfFormBlocks.d.ts +58 -0
- package/lib/recognition/pdfFormBlocks.d.ts.map +1 -0
- package/lib/recognition/pdfFormBlocks.js +260 -0
- package/lib/recognition/pdfFormBlocks.js.map +1 -0
- package/lib/recognition/pdfGlyphClustering.d.ts +81 -0
- package/lib/recognition/pdfGlyphClustering.d.ts.map +1 -0
- package/lib/recognition/pdfGlyphClustering.js +1005 -0
- package/lib/recognition/pdfGlyphClustering.js.map +1 -0
- package/lib/recognition/pdfGlyphDictionary.d.ts +49 -0
- package/lib/recognition/pdfGlyphDictionary.d.ts.map +1 -0
- package/lib/recognition/pdfGlyphDictionary.js +188 -0
- package/lib/recognition/pdfGlyphDictionary.js.map +1 -0
- package/lib/recognition/pdfHatchFaces.d.ts +84 -0
- package/lib/recognition/pdfHatchFaces.d.ts.map +1 -0
- package/lib/recognition/pdfHatchFaces.js +1285 -0
- package/lib/recognition/pdfHatchFaces.js.map +1 -0
- package/lib/recognition/pdfHatchRecognition.d.ts +222 -0
- package/lib/recognition/pdfHatchRecognition.d.ts.map +1 -0
- package/lib/recognition/pdfHatchRecognition.js +3781 -0
- package/lib/recognition/pdfHatchRecognition.js.map +1 -0
- package/lib/recognition/pdfRecGeometry.d.ts +67 -0
- package/lib/recognition/pdfRecGeometry.d.ts.map +1 -0
- package/lib/recognition/pdfRecGeometry.js +365 -0
- package/lib/recognition/pdfRecGeometry.js.map +1 -0
- package/lib/recognition/pdfTextFontKind.d.ts +16 -0
- package/lib/recognition/pdfTextFontKind.d.ts.map +1 -0
- package/lib/recognition/pdfTextFontKind.js +51 -0
- package/lib/recognition/pdfTextFontKind.js.map +1 -0
- package/lib/recognition/pdfTextMerge.d.ts +71 -0
- package/lib/recognition/pdfTextMerge.d.ts.map +1 -0
- package/lib/recognition/pdfTextMerge.js +382 -0
- package/lib/recognition/pdfTextMerge.js.map +1 -0
- package/lib/recognition/pdfTextRunMerge.d.ts +28 -0
- package/lib/recognition/pdfTextRunMerge.d.ts.map +1 -0
- package/lib/recognition/pdfTextRunMerge.js +90 -0
- package/lib/recognition/pdfTextRunMerge.js.map +1 -0
- package/lib/register.d.ts +8 -2
- package/lib/register.d.ts.map +1 -1
- package/lib/register.js +29 -4
- package/lib/register.js.map +1 -1
- package/lib/ui/AcUiPdfDimPanel.d.ts +55 -0
- package/lib/ui/AcUiPdfDimPanel.d.ts.map +1 -0
- package/lib/ui/AcUiPdfDimPanel.js +347 -0
- package/lib/ui/AcUiPdfDimPanel.js.map +1 -0
- package/lib/ui/AcUiPdfHatchPanel.d.ts +57 -0
- package/lib/ui/AcUiPdfHatchPanel.d.ts.map +1 -0
- package/lib/ui/AcUiPdfHatchPanel.js +420 -0
- package/lib/ui/AcUiPdfHatchPanel.js.map +1 -0
- package/lib/ui/AcUiPdfImportDialog.d.ts +120 -0
- package/lib/ui/AcUiPdfImportDialog.d.ts.map +1 -0
- package/lib/ui/AcUiPdfImportDialog.js +673 -0
- package/lib/ui/AcUiPdfImportDialog.js.map +1 -0
- package/lib/ui/AcUiPdfTextPanel.d.ts +95 -0
- package/lib/ui/AcUiPdfTextPanel.d.ts.map +1 -0
- package/lib/ui/AcUiPdfTextPanel.js +775 -0
- package/lib/ui/AcUiPdfTextPanel.js.map +1 -0
- package/package.json +11 -11
package/lib/pdfVectorImport.d.ts
CHANGED
|
@@ -12,6 +12,24 @@ export type PdfImportPoint = {
|
|
|
12
12
|
x: number;
|
|
13
13
|
y: number;
|
|
14
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* One exact path segment in model-space millimeters.
|
|
17
|
+
*
|
|
18
|
+
* Affine maps keep Bezier curves Bezier, so control points transformed
|
|
19
|
+
* through the CTM and viewport describe the page curve exactly. Quadratic
|
|
20
|
+
* curves are degree-elevated to cubics.
|
|
21
|
+
*/
|
|
22
|
+
export type PdfImportSegment = {
|
|
23
|
+
kind: 'line';
|
|
24
|
+
p0: PdfImportPoint;
|
|
25
|
+
p1: PdfImportPoint;
|
|
26
|
+
} | {
|
|
27
|
+
kind: 'cubic';
|
|
28
|
+
p0: PdfImportPoint;
|
|
29
|
+
p1: PdfImportPoint;
|
|
30
|
+
p2: PdfImportPoint;
|
|
31
|
+
p3: PdfImportPoint;
|
|
32
|
+
};
|
|
15
33
|
export interface PdfImportViewport {
|
|
16
34
|
height: number;
|
|
17
35
|
convertToViewportPoint(x: number, y: number): number[];
|
|
@@ -44,6 +62,15 @@ export interface PdfImportOps {
|
|
|
44
62
|
fillStroke: number;
|
|
45
63
|
eoFillStroke: number;
|
|
46
64
|
endPath: number;
|
|
65
|
+
/** Clip (`W`); the path painted next becomes the clip. */
|
|
66
|
+
clip?: number;
|
|
67
|
+
/** Even-odd clip (`W*`). */
|
|
68
|
+
eoClip?: number;
|
|
69
|
+
/**
|
|
70
|
+
* PDF.js internal fill used for Type3 / mask path compilation. Treat like
|
|
71
|
+
* {@link PdfImportOps.fill} when present in a packed `constructPath`.
|
|
72
|
+
*/
|
|
73
|
+
rawFillPath?: number;
|
|
47
74
|
setStrokeRGBColor: number;
|
|
48
75
|
setFillRGBColor: number;
|
|
49
76
|
beginText: number;
|
|
@@ -60,33 +87,221 @@ export interface PdfImportOps {
|
|
|
60
87
|
setTextRise: number;
|
|
61
88
|
setTextRenderingMode: number;
|
|
62
89
|
showText: number;
|
|
90
|
+
/** Line width (`w`). Optional so older op tables still type-check. */
|
|
91
|
+
setLineWidth?: number;
|
|
92
|
+
/** Dash pattern (`d`): args `[dashArray, phase]`. */
|
|
93
|
+
setDash?: number;
|
|
94
|
+
/** Form XObject begin — args typically `[matrix, bbox]`. */
|
|
95
|
+
paintFormXObjectBegin?: number;
|
|
96
|
+
paintFormXObjectEnd?: number;
|
|
97
|
+
/** Image XObject paint — args `[objId, width, height]`. */
|
|
98
|
+
paintImageXObject?: number;
|
|
99
|
+
/** Inline image paint — args `[imageData]`. */
|
|
100
|
+
paintInlineImageXObject?: number;
|
|
63
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Sentinel colour: CAD ACI 7 (AutoCAD “foreground” / auto-contrast).
|
|
104
|
+
*
|
|
105
|
+
* Renders white on a dark CAD canvas and black on a light one.
|
|
106
|
+
*/
|
|
107
|
+
export declare const PDF_IMPORT_FOREGROUND_COLOR = "foreground";
|
|
108
|
+
/**
|
|
109
|
+
* PDF page paper tone used when remapping contrast ink.
|
|
110
|
+
*
|
|
111
|
+
* - `light` — typical white paper (black ink → ACI 7)
|
|
112
|
+
* - `dark` — black / dark paper (white ink → ACI 7)
|
|
113
|
+
* - `auto` — infer from the dominant near-black vs near-white paint colours
|
|
114
|
+
*/
|
|
115
|
+
export type PdfImportPaperTone = 'light' | 'dark' | 'auto';
|
|
116
|
+
/**
|
|
117
|
+
* Options for {@link extractPdfImportSubpaths}.
|
|
118
|
+
*
|
|
119
|
+
* PDF ink that matches the opposite of the page paper would vanish on the
|
|
120
|
+
* wrong CAD background if stored as fixed RGB. Contrast ink is mapped to
|
|
121
|
+
* {@link PDF_IMPORT_FOREGROUND_COLOR} (ACI 7) instead.
|
|
122
|
+
*/
|
|
123
|
+
export interface PdfImportExtractOptions {
|
|
124
|
+
/**
|
|
125
|
+
* Remap paper-contrast ink (black on light paper, white on dark paper) to
|
|
126
|
+
* ACI 7. Default: `true`.
|
|
127
|
+
*/
|
|
128
|
+
remapContrastInk?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Assumed PDF paper tone. Default: `'auto'`.
|
|
131
|
+
*/
|
|
132
|
+
paperTone?: PdfImportPaperTone;
|
|
133
|
+
/**
|
|
134
|
+
* @deprecated Use {@link PdfImportExtractOptions.remapContrastInk}.
|
|
135
|
+
* When `false`, disables contrast remapping.
|
|
136
|
+
*/
|
|
137
|
+
remapDarkColors?: boolean;
|
|
138
|
+
}
|
|
139
|
+
/** True when every channel is near black (paper ink on white PDF). */
|
|
140
|
+
export declare function isPdfNearBlackColor(color: string | undefined): boolean;
|
|
141
|
+
/** True when every channel is near white (paper ink on dark PDF). */
|
|
142
|
+
export declare function isPdfNearWhiteColor(color: string | undefined): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Infers PDF paper tone from painted colours.
|
|
145
|
+
*
|
|
146
|
+
* Dark paper is rare; bias toward light so white fills on a normal CAD PDF
|
|
147
|
+
* do not leave near-black linework unmapped (and invisible on a dark canvas).
|
|
148
|
+
* Only classify as dark when near-white ink dominates and near-black is absent.
|
|
149
|
+
*/
|
|
150
|
+
export declare function detectPdfImportPaperTone(colors: Iterable<string | undefined>): 'light' | 'dark';
|
|
151
|
+
/**
|
|
152
|
+
* Maps PDF contrast ink to ACI 7 (`foreground`) based on paper tone.
|
|
153
|
+
*
|
|
154
|
+
* - Light paper + near-black → {@link PDF_IMPORT_FOREGROUND_COLOR}
|
|
155
|
+
* - Dark paper + near-white → {@link PDF_IMPORT_FOREGROUND_COLOR}
|
|
156
|
+
* - Other colours kept as lowercase `#rrggbb`
|
|
157
|
+
*/
|
|
158
|
+
export declare function remapPdfImportColor(color: string | undefined, paperTone?: 'light' | 'dark'): string | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Applies contrast-ink remapping to an extracted page.
|
|
161
|
+
*
|
|
162
|
+
* When `paperTone` is `'auto'`, tone is detected from the raw colours first.
|
|
163
|
+
*/
|
|
164
|
+
export declare function applyPdfImportContrastColors(content: PdfImportPageContent, options?: Pick<PdfImportExtractOptions, 'remapContrastInk' | 'remapDarkColors' | 'paperTone'>): PdfImportPageContent;
|
|
64
165
|
export interface PdfImportOperatorList {
|
|
65
166
|
fnArray: ArrayLike<number>;
|
|
66
167
|
argsArray: ArrayLike<unknown>;
|
|
67
168
|
}
|
|
68
169
|
export interface PdfImportedSubpath {
|
|
170
|
+
/** Flattened outline (curves sampled with a fixed step count). */
|
|
69
171
|
points: PdfImportPoint[];
|
|
172
|
+
/**
|
|
173
|
+
* Exact segments of the same subpath. Consumers that recover arcs,
|
|
174
|
+
* circles, ellipses or splines should prefer these over {@link points}.
|
|
175
|
+
*/
|
|
176
|
+
segments?: PdfImportSegment[];
|
|
177
|
+
/** True when the subpath was painted by a fill operator. */
|
|
178
|
+
filled?: boolean;
|
|
179
|
+
/**
|
|
180
|
+
* True when the paint also stroked the outline (`B`, `b`, ...). Unset for
|
|
181
|
+
* plain strokes, which are always outlines.
|
|
182
|
+
*/
|
|
183
|
+
stroked?: boolean;
|
|
184
|
+
/** Fill colour of a filled subpath (`#rrggbb` or foreground). */
|
|
185
|
+
fillColor?: string;
|
|
186
|
+
/**
|
|
187
|
+
* Subpaths painted by one operator share this number, so an even-odd fill
|
|
188
|
+
* with holes can become one hatch with several loops.
|
|
189
|
+
*/
|
|
190
|
+
paintGroup?: number;
|
|
191
|
+
/** Stroke width in millimeters, when the PDF set a positive width. */
|
|
192
|
+
lineWidth?: number;
|
|
193
|
+
/**
|
|
194
|
+
* Stroke dash pattern in millimeters (alternating dash, gap), when the
|
|
195
|
+
* PDF stroked this subpath dashed. Always an even number of entries.
|
|
196
|
+
*/
|
|
197
|
+
dashPattern?: number[];
|
|
198
|
+
/**
|
|
199
|
+
* Index into {@link PdfImportPageContent.formInstances} when the subpath
|
|
200
|
+
* was drawn inside a top-level Form XObject.
|
|
201
|
+
*/
|
|
202
|
+
formInstance?: number;
|
|
203
|
+
/**
|
|
204
|
+
* Index into {@link PdfImportPageContent.clipPaths} of the clip in effect
|
|
205
|
+
* when the subpath was painted (the innermost one).
|
|
206
|
+
*/
|
|
207
|
+
clipPath?: number;
|
|
70
208
|
layerName?: string;
|
|
71
|
-
/**
|
|
209
|
+
/**
|
|
210
|
+
* Paint colour: `#rrggbb`, or {@link PDF_IMPORT_FOREGROUND_COLOR} after
|
|
211
|
+
* contrast remapping.
|
|
212
|
+
*/
|
|
72
213
|
color?: string;
|
|
73
214
|
}
|
|
74
215
|
/** One PDF text-showing run, placed on the glyph baseline. */
|
|
75
216
|
export interface PdfImportedText {
|
|
76
217
|
text: string;
|
|
77
218
|
position: PdfImportPoint;
|
|
219
|
+
/** Advance width of the run along the baseline, in millimeters. */
|
|
220
|
+
width?: number;
|
|
221
|
+
/**
|
|
222
|
+
* PDF.js font resource id (`setFont` argument). Resolve the font name
|
|
223
|
+
* through `page.commonObjs`.
|
|
224
|
+
*/
|
|
225
|
+
fontId?: string;
|
|
78
226
|
/** CAD text height in millimeters. */
|
|
79
227
|
height: number;
|
|
80
228
|
/** Rotation in radians, counterclockwise from +X. */
|
|
81
229
|
rotation: number;
|
|
82
230
|
widthFactor: number;
|
|
83
231
|
layerName?: string;
|
|
84
|
-
/**
|
|
232
|
+
/**
|
|
233
|
+
* Fill (or stroke-only) colour: `#rrggbb`, or
|
|
234
|
+
* {@link PDF_IMPORT_FOREGROUND_COLOR} after contrast remapping.
|
|
235
|
+
*/
|
|
85
236
|
color?: string;
|
|
86
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* One top-level Form XObject paint. PDF.js inlines form content and does not
|
|
240
|
+
* say which form it was, so repeated forms are recognized by comparing the
|
|
241
|
+
* geometry of instances in form-local coordinates.
|
|
242
|
+
*/
|
|
243
|
+
export interface PdfImportFormInstance {
|
|
244
|
+
/**
|
|
245
|
+
* Affine map from form space to model-space millimeters:
|
|
246
|
+
* `x' = a·x + c·y + e`, `y' = b·x + d·y + f`.
|
|
247
|
+
*/
|
|
248
|
+
toCad: {
|
|
249
|
+
a: number;
|
|
250
|
+
b: number;
|
|
251
|
+
c: number;
|
|
252
|
+
d: number;
|
|
253
|
+
e: number;
|
|
254
|
+
f: number;
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* One raster image paint. PDF draws an image into the unit square of the
|
|
259
|
+
* current user space, so the placement is that square's affine map.
|
|
260
|
+
*/
|
|
261
|
+
export interface PdfImportedImage {
|
|
262
|
+
/**
|
|
263
|
+
* PDF.js object id; resolve it through `page.objs` (or `page.commonObjs`
|
|
264
|
+
* for ids starting with `g_`).
|
|
265
|
+
*/
|
|
266
|
+
objId?: string;
|
|
267
|
+
/** Image data of an inline image (`BI … EI`), as PDF.js passes it. */
|
|
268
|
+
inline?: unknown;
|
|
269
|
+
/**
|
|
270
|
+
* Unit square → model-space millimeters: `x' = a·u + c·v + e`,
|
|
271
|
+
* `y' = b·u + d·v + f`. `(0, 0)` is the image's bottom-left corner and
|
|
272
|
+
* `(0, 1)` its top-left (first pixel row).
|
|
273
|
+
*/
|
|
274
|
+
toCad: {
|
|
275
|
+
a: number;
|
|
276
|
+
b: number;
|
|
277
|
+
c: number;
|
|
278
|
+
d: number;
|
|
279
|
+
e: number;
|
|
280
|
+
f: number;
|
|
281
|
+
};
|
|
282
|
+
layerName?: string;
|
|
283
|
+
}
|
|
87
284
|
export interface PdfImportPageContent {
|
|
88
285
|
subpaths: PdfImportedSubpath[];
|
|
89
286
|
texts: PdfImportedText[];
|
|
287
|
+
/** Raster image paints, in paint order. */
|
|
288
|
+
images?: PdfImportedImage[];
|
|
289
|
+
/** Top-level Form XObject paints, referenced by subpath `formInstance`. */
|
|
290
|
+
formInstances?: PdfImportFormInstance[];
|
|
291
|
+
/**
|
|
292
|
+
* Clip paths (closed loops in millimeters), referenced by subpath
|
|
293
|
+
* `clipPath`. A clip around many strokes often is a hatch boundary.
|
|
294
|
+
*/
|
|
295
|
+
clipPaths?: PdfImportPoint[][][];
|
|
296
|
+
}
|
|
297
|
+
/** CAD layer resolved for one PDF optional-content group. */
|
|
298
|
+
export interface PdfImportOcgLayer {
|
|
299
|
+
layerName: string;
|
|
300
|
+
/**
|
|
301
|
+
* Initial display state. `false` keeps nested optional content on this
|
|
302
|
+
* layer, since viewers hide it regardless of inner groups.
|
|
303
|
+
*/
|
|
304
|
+
visible?: boolean;
|
|
90
305
|
}
|
|
91
306
|
/**
|
|
92
307
|
* Converts one page operator list into model-space subpaths.
|
|
@@ -99,7 +314,5 @@ export interface PdfImportPageContent {
|
|
|
99
314
|
* @param fallbackLayerName - Layer for geometry outside a single OCG. Omit it
|
|
100
315
|
* for PDFs with no optional content so entities stay on the current layer.
|
|
101
316
|
*/
|
|
102
|
-
export declare function extractPdfImportSubpaths(opList: PdfImportOperatorList, ops: PdfImportOps, viewport: PdfImportViewport, ocgLayers: ReadonlyMap<string,
|
|
103
|
-
layerName: string;
|
|
104
|
-
}>, fallbackLayerName?: string): PdfImportPageContent;
|
|
317
|
+
export declare function extractPdfImportSubpaths(opList: PdfImportOperatorList, ops: PdfImportOps, viewport: PdfImportViewport, ocgLayers: ReadonlyMap<string, PdfImportOcgLayer>, fallbackLayerName?: string, options?: PdfImportExtractOptions): PdfImportPageContent;
|
|
105
318
|
//# sourceMappingURL=pdfVectorImport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdfVectorImport.d.ts","sourceRoot":"","sources":["../src/pdfVectorImport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wDAAwD;AACxD,eAAO,MAAM,YAAY,QAAY,CAAA;AAKrC,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"pdfVectorImport.d.ts","sourceRoot":"","sources":["../src/pdfVectorImport.ts"],"names":[],"mappings":"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"}
|