@mlightcad/cad-pdf-plugin 1.7.2 → 1.7.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/dist/cad-pdf-plugin.js +12456 -11919
- package/dist/cad-pdf-plugin.umd.cjs +13 -13
- package/lib/AcApImportPdfCmd.d.ts +1 -0
- package/lib/AcApImportPdfCmd.d.ts.map +1 -1
- package/lib/AcApImportPdfCmd.js +12 -5
- package/lib/AcApImportPdfCmd.js.map +1 -1
- package/lib/AcApPdfFontResolver.d.ts +5 -3
- package/lib/AcApPdfFontResolver.d.ts.map +1 -1
- package/lib/AcApPdfFontResolver.js +52 -12
- package/lib/AcApPdfFontResolver.js.map +1 -1
- package/lib/AcApPdfGlyphProvider.d.ts.map +1 -1
- package/lib/AcApPdfGlyphProvider.js +179 -49
- package/lib/AcApPdfGlyphProvider.js.map +1 -1
- package/lib/AcApPdfImportConvertor.d.ts +15 -7
- package/lib/AcApPdfImportConvertor.d.ts.map +1 -1
- package/lib/AcApPdfImportConvertor.js +262 -234
- package/lib/AcApPdfImportConvertor.js.map +1 -1
- package/lib/pdfOptionalContent.d.ts +93 -0
- package/lib/pdfOptionalContent.d.ts.map +1 -0
- package/lib/pdfOptionalContent.js +287 -0
- package/lib/pdfOptionalContent.js.map +1 -0
- package/lib/pdfVectorImport.d.ts +105 -0
- package/lib/pdfVectorImport.d.ts.map +1 -0
- package/lib/pdfVectorImport.js +680 -0
- package/lib/pdfVectorImport.js.map +1 -0
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApPdfImportConvertor.js","sourceRoot":"","sources":["../src/AcApPdfImportConvertor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AcApPdfImportConvertor.js","sourceRoot":"","sources":["../src/AcApPdfImportConvertor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Small, PDF.js-agnostic helpers for mapping Optional Content Groups (OCGs)
|
|
3
|
+
* to CAD layer names.
|
|
4
|
+
*
|
|
5
|
+
* Keeping these helpers independent from pdfjs-dist makes the layer-mapping
|
|
6
|
+
* behavior easy to unit test without loading the PDF worker/runtime.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PDF_FALLBACK_LAYER = "PDF_UNGROUPED";
|
|
9
|
+
export interface PdfOperatorListLike {
|
|
10
|
+
fnArray: ArrayLike<number>;
|
|
11
|
+
argsArray: ArrayLike<unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface PdfOptionalContentGroupLike {
|
|
14
|
+
name?: unknown;
|
|
15
|
+
visible?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface PdfOptionalContentVisibilityInput {
|
|
18
|
+
type?: string;
|
|
19
|
+
id?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PdfOptionalContentConfigLike {
|
|
22
|
+
getGroup?: (id: string) => PdfOptionalContentGroupLike | null | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* PDF.js `OptionalContentConfig.isVisible`. Honors OCG state and OCMD policy.
|
|
25
|
+
* Layer on/off for a single group uses this when the host provides it.
|
|
26
|
+
*/
|
|
27
|
+
isVisible?: (group: PdfOptionalContentVisibilityInput) => boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface PdfOcgLayerInfo {
|
|
30
|
+
id: string;
|
|
31
|
+
layerName: string;
|
|
32
|
+
visible: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* How one `beginMarkedContentProps` argument list should affect the CAD layer.
|
|
36
|
+
*
|
|
37
|
+
* - `ocg` — a single optional-content group, mapped to its own layer
|
|
38
|
+
* - `fallback` — optional content that is not one group (OCMD with several
|
|
39
|
+
* groups, a visibility expression, or an unreadable OC dictionary)
|
|
40
|
+
* - `none` — marked content that is not optional content
|
|
41
|
+
*/
|
|
42
|
+
export type PdfMarkedContentTarget = {
|
|
43
|
+
kind: 'ocg';
|
|
44
|
+
id: string;
|
|
45
|
+
} | {
|
|
46
|
+
kind: 'fallback';
|
|
47
|
+
} | {
|
|
48
|
+
kind: 'none';
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Symbol-table identity for a CAD layer name.
|
|
52
|
+
*
|
|
53
|
+
* Matches `AcDbSymbolTable.normalizeName`: trim, then compare case-insensitively.
|
|
54
|
+
*/
|
|
55
|
+
export declare function normalizeCadLayerKey(name: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Classifies a PDF.js `beginMarkedContentProps` argument list.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getPdfMarkedContentTarget(args: readonly unknown[]): PdfMarkedContentTarget;
|
|
60
|
+
/**
|
|
61
|
+
* Returns the OCG id encoded by a PDF.js beginMarkedContentProps argument list.
|
|
62
|
+
*
|
|
63
|
+
* Membership dictionaries that reference more than one group return `undefined`.
|
|
64
|
+
* Use {@link getPdfMarkedContentTarget} when that content still needs the
|
|
65
|
+
* fallback layer.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getPdfOcgIdFromMarkedContentArgs(args: readonly unknown[]): string | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Converts an arbitrary PDF OCG label into a CAD-safe layer name.
|
|
70
|
+
*/
|
|
71
|
+
export declare function sanitizePdfLayerName(name: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* True when the page operator list references optional content, including
|
|
74
|
+
* membership dictionaries that do not map to a single CAD layer.
|
|
75
|
+
*/
|
|
76
|
+
export declare function pdfOperatorListHasOptionalContent(opList: PdfOperatorListLike, beginMarkedContentPropsOp: number): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Finds OCG ids referenced by a page operator list and resolves each id to a
|
|
79
|
+
* unique CAD layer name plus its initial display visibility.
|
|
80
|
+
*
|
|
81
|
+
* Names already present in `reservedLayerNames` (the drawing's layer table)
|
|
82
|
+
* and {@link PDF_FALLBACK_LAYER} are not reused. Comparison follows CAD
|
|
83
|
+
* symbol-table rules, so `Walls` and `walls` are the same layer.
|
|
84
|
+
*/
|
|
85
|
+
export declare function collectPdfOcgLayers(opList: PdfOperatorListLike, beginMarkedContentPropsOp: number, optionalContentConfig: PdfOptionalContentConfigLike, reservedLayerNames?: Iterable<string>): Map<string, PdfOcgLayerInfo>;
|
|
86
|
+
/**
|
|
87
|
+
* Layer name for vector geometry that is not assigned to a single OCG.
|
|
88
|
+
*
|
|
89
|
+
* Uses {@link PDF_FALLBACK_LAYER} when that name is free. Otherwise allocates
|
|
90
|
+
* a suffixed name so an existing drawing layer is left unchanged.
|
|
91
|
+
*/
|
|
92
|
+
export declare function allocatePdfFallbackLayerName(reservedLayerNames: Iterable<string>, ocgLayerNames: Iterable<string>): string;
|
|
93
|
+
//# sourceMappingURL=pdfOptionalContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfOptionalContent.d.ts","sourceRoot":"","sources":["../src/pdfOptionalContent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AAKjD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iCAAiC;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAA;IACzE;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,OAAO,CAAA;CAClE;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAIpB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,OAAO,EAAE,GACvB,sBAAsB,CAkCxB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,SAAS,OAAO,EAAE,GACvB,MAAM,GAAG,SAAS,CAGpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AA8ED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,mBAAmB,EAC3B,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAOT;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,yBAAyB,EAAE,MAAM,EACjC,qBAAqB,EAAE,4BAA4B,EACnD,kBAAkB,GAAE,QAAQ,CAAC,MAAM,CAAM,GACxC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAqC9B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,EACpC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,MAAM,CAUR"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Small, PDF.js-agnostic helpers for mapping Optional Content Groups (OCGs)
|
|
3
|
+
* to CAD layer names.
|
|
4
|
+
*
|
|
5
|
+
* Keeping these helpers independent from pdfjs-dist makes the layer-mapping
|
|
6
|
+
* behavior easy to unit test without loading the PDF worker/runtime.
|
|
7
|
+
*/
|
|
8
|
+
var __values = (this && this.__values) || function(o) {
|
|
9
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
10
|
+
if (m) return m.call(o);
|
|
11
|
+
if (o && typeof o.length === "number") return {
|
|
12
|
+
next: function () {
|
|
13
|
+
if (o && i >= o.length) o = void 0;
|
|
14
|
+
return { value: o && o[i++], done: !o };
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
18
|
+
};
|
|
19
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
20
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
21
|
+
if (!m) return o;
|
|
22
|
+
var i = m.call(o), r, ar = [], e;
|
|
23
|
+
try {
|
|
24
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
25
|
+
}
|
|
26
|
+
catch (error) { e = { error: error }; }
|
|
27
|
+
finally {
|
|
28
|
+
try {
|
|
29
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
30
|
+
}
|
|
31
|
+
finally { if (e) throw e.error; }
|
|
32
|
+
}
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
36
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
37
|
+
if (ar || !(i in from)) {
|
|
38
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
39
|
+
ar[i] = from[i];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
|
+
};
|
|
44
|
+
export var PDF_FALLBACK_LAYER = 'PDF_UNGROUPED';
|
|
45
|
+
/** AutoCAD symbol-table names are limited to 255 characters. */
|
|
46
|
+
var CAD_LAYER_NAME_MAX = 255;
|
|
47
|
+
var INVALID_CAD_LAYER_CHARS = /[<>/\\":;?*|=,]/g;
|
|
48
|
+
/**
|
|
49
|
+
* Symbol-table identity for a CAD layer name.
|
|
50
|
+
*
|
|
51
|
+
* Matches `AcDbSymbolTable.normalizeName`: trim, then compare case-insensitively.
|
|
52
|
+
*/
|
|
53
|
+
export function normalizeCadLayerKey(name) {
|
|
54
|
+
return name.trim().toUpperCase();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Classifies a PDF.js `beginMarkedContentProps` argument list.
|
|
58
|
+
*/
|
|
59
|
+
export function getPdfMarkedContentTarget(args) {
|
|
60
|
+
if (args[0] !== 'OC')
|
|
61
|
+
return { kind: 'none' };
|
|
62
|
+
var properties = args[1];
|
|
63
|
+
if (typeof properties === 'string' || typeof properties === 'number') {
|
|
64
|
+
var id = String(properties).trim();
|
|
65
|
+
return id ? { kind: 'ocg', id: id } : { kind: 'fallback' };
|
|
66
|
+
}
|
|
67
|
+
if (!properties || typeof properties !== 'object') {
|
|
68
|
+
return { kind: 'fallback' };
|
|
69
|
+
}
|
|
70
|
+
var record = properties;
|
|
71
|
+
var type = typeof record.type === 'string' ? record.type : undefined;
|
|
72
|
+
var ids = readIdList(record.ids);
|
|
73
|
+
var singleId = readId(record.id);
|
|
74
|
+
if (type === 'OCMD') {
|
|
75
|
+
if (ids.length === 1)
|
|
76
|
+
return { kind: 'ocg', id: ids[0] };
|
|
77
|
+
if (ids.length > 1)
|
|
78
|
+
return { kind: 'fallback' };
|
|
79
|
+
if (singleId)
|
|
80
|
+
return { kind: 'ocg', id: singleId };
|
|
81
|
+
return { kind: 'fallback' };
|
|
82
|
+
}
|
|
83
|
+
if (ids.length > 1)
|
|
84
|
+
return { kind: 'fallback' };
|
|
85
|
+
if (ids.length === 1)
|
|
86
|
+
return { kind: 'ocg', id: ids[0] };
|
|
87
|
+
if (singleId)
|
|
88
|
+
return { kind: 'ocg', id: singleId };
|
|
89
|
+
return { kind: 'fallback' };
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns the OCG id encoded by a PDF.js beginMarkedContentProps argument list.
|
|
93
|
+
*
|
|
94
|
+
* Membership dictionaries that reference more than one group return `undefined`.
|
|
95
|
+
* Use {@link getPdfMarkedContentTarget} when that content still needs the
|
|
96
|
+
* fallback layer.
|
|
97
|
+
*/
|
|
98
|
+
export function getPdfOcgIdFromMarkedContentArgs(args) {
|
|
99
|
+
var target = getPdfMarkedContentTarget(args);
|
|
100
|
+
return target.kind === 'ocg' ? target.id : undefined;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Converts an arbitrary PDF OCG label into a CAD-safe layer name.
|
|
104
|
+
*/
|
|
105
|
+
export function sanitizePdfLayerName(name) {
|
|
106
|
+
return name.replace(INVALID_CAD_LAYER_CHARS, '_').trim().slice(0, CAD_LAYER_NAME_MAX);
|
|
107
|
+
}
|
|
108
|
+
function normalizeArgs(value) {
|
|
109
|
+
return Array.isArray(value) ? value : [];
|
|
110
|
+
}
|
|
111
|
+
function readId(value) {
|
|
112
|
+
if (typeof value !== 'string' && typeof value !== 'number')
|
|
113
|
+
return undefined;
|
|
114
|
+
var id = String(value).trim();
|
|
115
|
+
return id || undefined;
|
|
116
|
+
}
|
|
117
|
+
function readIdList(value) {
|
|
118
|
+
var e_1, _a;
|
|
119
|
+
if (!Array.isArray(value))
|
|
120
|
+
return [];
|
|
121
|
+
var ids = [];
|
|
122
|
+
try {
|
|
123
|
+
for (var value_1 = __values(value), value_1_1 = value_1.next(); !value_1_1.done; value_1_1 = value_1.next()) {
|
|
124
|
+
var entry = value_1_1.value;
|
|
125
|
+
var id = readId(entry);
|
|
126
|
+
if (id)
|
|
127
|
+
ids.push(id);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
131
|
+
finally {
|
|
132
|
+
try {
|
|
133
|
+
if (value_1_1 && !value_1_1.done && (_a = value_1.return)) _a.call(value_1);
|
|
134
|
+
}
|
|
135
|
+
finally { if (e_1) throw e_1.error; }
|
|
136
|
+
}
|
|
137
|
+
return ids;
|
|
138
|
+
}
|
|
139
|
+
function claimLayerName(name, usedKeys) {
|
|
140
|
+
var trimmed = name.trim().slice(0, CAD_LAYER_NAME_MAX);
|
|
141
|
+
if (!trimmed)
|
|
142
|
+
return undefined;
|
|
143
|
+
var key = normalizeCadLayerKey(trimmed);
|
|
144
|
+
if (!key || usedKeys.has(key))
|
|
145
|
+
return undefined;
|
|
146
|
+
usedKeys.add(key);
|
|
147
|
+
return trimmed;
|
|
148
|
+
}
|
|
149
|
+
function withSuffix(base, suffix) {
|
|
150
|
+
var stemBudget = Math.max(1, CAD_LAYER_NAME_MAX - suffix.length);
|
|
151
|
+
return "".concat(base.slice(0, stemBudget)).concat(suffix);
|
|
152
|
+
}
|
|
153
|
+
function allocateUniqueLayerName(preferredName, id, usedKeys) {
|
|
154
|
+
var fallback = "PDF_OCG_".concat(sanitizePdfLayerName(id) || 'GROUP');
|
|
155
|
+
var base = sanitizePdfLayerName(preferredName) || fallback;
|
|
156
|
+
var direct = claimLayerName(base, usedKeys);
|
|
157
|
+
if (direct)
|
|
158
|
+
return direct;
|
|
159
|
+
var idSuffix = sanitizePdfLayerName(id);
|
|
160
|
+
var suffix = idSuffix ? "_".concat(idSuffix) : '_2';
|
|
161
|
+
var suffixed = claimLayerName(withSuffix(base, suffix), usedKeys);
|
|
162
|
+
if (suffixed)
|
|
163
|
+
return suffixed;
|
|
164
|
+
var index = 2;
|
|
165
|
+
while (index < 100000) {
|
|
166
|
+
var claimed = claimLayerName(withSuffix(base, "".concat(suffix, "_").concat(index)), usedKeys);
|
|
167
|
+
if (claimed)
|
|
168
|
+
return claimed;
|
|
169
|
+
index++;
|
|
170
|
+
}
|
|
171
|
+
var emergency = "PDF_OCG_".concat(index).slice(0, CAD_LAYER_NAME_MAX);
|
|
172
|
+
usedKeys.add(normalizeCadLayerKey(emergency));
|
|
173
|
+
return emergency;
|
|
174
|
+
}
|
|
175
|
+
function ocgInitiallyVisible(config, id, group) {
|
|
176
|
+
if (config.isVisible) {
|
|
177
|
+
return config.isVisible({ type: 'OCG', id: id }) !== false;
|
|
178
|
+
}
|
|
179
|
+
return (group === null || group === void 0 ? void 0 : group.visible) !== false;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* True when the page operator list references optional content, including
|
|
183
|
+
* membership dictionaries that do not map to a single CAD layer.
|
|
184
|
+
*/
|
|
185
|
+
export function pdfOperatorListHasOptionalContent(opList, beginMarkedContentPropsOp) {
|
|
186
|
+
for (var i = 0; i < opList.fnArray.length; i++) {
|
|
187
|
+
if (opList.fnArray[i] !== beginMarkedContentPropsOp)
|
|
188
|
+
continue;
|
|
189
|
+
var target = getPdfMarkedContentTarget(normalizeArgs(opList.argsArray[i]));
|
|
190
|
+
if (target.kind !== 'none')
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Finds OCG ids referenced by a page operator list and resolves each id to a
|
|
197
|
+
* unique CAD layer name plus its initial display visibility.
|
|
198
|
+
*
|
|
199
|
+
* Names already present in `reservedLayerNames` (the drawing's layer table)
|
|
200
|
+
* and {@link PDF_FALLBACK_LAYER} are not reused. Comparison follows CAD
|
|
201
|
+
* symbol-table rules, so `Walls` and `walls` are the same layer.
|
|
202
|
+
*/
|
|
203
|
+
export function collectPdfOcgLayers(opList, beginMarkedContentPropsOp, optionalContentConfig, reservedLayerNames) {
|
|
204
|
+
var e_2, _a, e_3, _b;
|
|
205
|
+
var _c;
|
|
206
|
+
if (reservedLayerNames === void 0) { reservedLayerNames = []; }
|
|
207
|
+
var ids = [];
|
|
208
|
+
var seenIds = new Set();
|
|
209
|
+
for (var i = 0; i < opList.fnArray.length; i++) {
|
|
210
|
+
if (opList.fnArray[i] !== beginMarkedContentPropsOp)
|
|
211
|
+
continue;
|
|
212
|
+
var target = getPdfMarkedContentTarget(normalizeArgs(opList.argsArray[i]));
|
|
213
|
+
if (target.kind !== 'ocg' || seenIds.has(target.id))
|
|
214
|
+
continue;
|
|
215
|
+
seenIds.add(target.id);
|
|
216
|
+
ids.push(target.id);
|
|
217
|
+
}
|
|
218
|
+
var usedKeys = new Set([normalizeCadLayerKey(PDF_FALLBACK_LAYER)]);
|
|
219
|
+
try {
|
|
220
|
+
for (var reservedLayerNames_1 = __values(reservedLayerNames), reservedLayerNames_1_1 = reservedLayerNames_1.next(); !reservedLayerNames_1_1.done; reservedLayerNames_1_1 = reservedLayerNames_1.next()) {
|
|
221
|
+
var name_1 = reservedLayerNames_1_1.value;
|
|
222
|
+
var key = normalizeCadLayerKey(name_1);
|
|
223
|
+
if (key)
|
|
224
|
+
usedKeys.add(key);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
228
|
+
finally {
|
|
229
|
+
try {
|
|
230
|
+
if (reservedLayerNames_1_1 && !reservedLayerNames_1_1.done && (_a = reservedLayerNames_1.return)) _a.call(reservedLayerNames_1);
|
|
231
|
+
}
|
|
232
|
+
finally { if (e_2) throw e_2.error; }
|
|
233
|
+
}
|
|
234
|
+
var result = new Map();
|
|
235
|
+
try {
|
|
236
|
+
for (var ids_1 = __values(ids), ids_1_1 = ids_1.next(); !ids_1_1.done; ids_1_1 = ids_1.next()) {
|
|
237
|
+
var id = ids_1_1.value;
|
|
238
|
+
var group = (_c = optionalContentConfig.getGroup) === null || _c === void 0 ? void 0 : _c.call(optionalContentConfig, id);
|
|
239
|
+
var rawName = typeof (group === null || group === void 0 ? void 0 : group.name) === 'string' && group.name.trim()
|
|
240
|
+
? group.name.trim()
|
|
241
|
+
: "PDF_OCG_".concat(id);
|
|
242
|
+
result.set(id, {
|
|
243
|
+
id: id,
|
|
244
|
+
layerName: allocateUniqueLayerName(rawName, id, usedKeys),
|
|
245
|
+
visible: ocgInitiallyVisible(optionalContentConfig, id, group)
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
250
|
+
finally {
|
|
251
|
+
try {
|
|
252
|
+
if (ids_1_1 && !ids_1_1.done && (_b = ids_1.return)) _b.call(ids_1);
|
|
253
|
+
}
|
|
254
|
+
finally { if (e_3) throw e_3.error; }
|
|
255
|
+
}
|
|
256
|
+
return result;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Layer name for vector geometry that is not assigned to a single OCG.
|
|
260
|
+
*
|
|
261
|
+
* Uses {@link PDF_FALLBACK_LAYER} when that name is free. Otherwise allocates
|
|
262
|
+
* a suffixed name so an existing drawing layer is left unchanged.
|
|
263
|
+
*/
|
|
264
|
+
export function allocatePdfFallbackLayerName(reservedLayerNames, ocgLayerNames) {
|
|
265
|
+
var e_4, _a;
|
|
266
|
+
var usedKeys = new Set();
|
|
267
|
+
try {
|
|
268
|
+
for (var _b = __values(__spreadArray(__spreadArray([], __read(reservedLayerNames), false), __read(ocgLayerNames), false)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
269
|
+
var name_2 = _c.value;
|
|
270
|
+
var key = normalizeCadLayerKey(name_2);
|
|
271
|
+
if (key)
|
|
272
|
+
usedKeys.add(key);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
276
|
+
finally {
|
|
277
|
+
try {
|
|
278
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
279
|
+
}
|
|
280
|
+
finally { if (e_4) throw e_4.error; }
|
|
281
|
+
}
|
|
282
|
+
var canonical = claimLayerName(PDF_FALLBACK_LAYER, usedKeys);
|
|
283
|
+
if (canonical)
|
|
284
|
+
return canonical;
|
|
285
|
+
return allocateUniqueLayerName(PDF_FALLBACK_LAYER, '2', usedKeys);
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=pdfOptionalContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfOptionalContent.js","sourceRoot":"","sources":["../src/pdfOptionalContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDF operator-list → CAD polyline conversion, without pdfjs-dist.
|
|
3
|
+
*
|
|
4
|
+
* PDF.js numeric op codes are passed in so unit tests can exercise packed
|
|
5
|
+
* `constructPath` streams, CTM save/restore, and layer assignment without
|
|
6
|
+
* loading the PDF worker.
|
|
7
|
+
*/
|
|
8
|
+
/** 1 PDF point in mm (1 pt = 1/72 inch = 25.4/72 mm) */
|
|
9
|
+
export declare const PDF_PT_TO_MM: number;
|
|
10
|
+
/** 2D point in model-space millimeters. */
|
|
11
|
+
export type PdfImportPoint = {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
};
|
|
15
|
+
export interface PdfImportViewport {
|
|
16
|
+
height: number;
|
|
17
|
+
convertToViewportPoint(x: number, y: number): number[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* PDF.js `OPS` codes the importer understands. Values come from the loaded
|
|
21
|
+
* pdfjs-dist build; tests supply their own distinct integers.
|
|
22
|
+
*/
|
|
23
|
+
export interface PdfImportOps {
|
|
24
|
+
save: number;
|
|
25
|
+
restore: number;
|
|
26
|
+
transform: number;
|
|
27
|
+
beginMarkedContent: number;
|
|
28
|
+
beginMarkedContentProps: number;
|
|
29
|
+
endMarkedContent: number;
|
|
30
|
+
constructPath: number;
|
|
31
|
+
moveTo: number;
|
|
32
|
+
lineTo: number;
|
|
33
|
+
curveTo: number;
|
|
34
|
+
curveTo2: number;
|
|
35
|
+
curveTo3: number;
|
|
36
|
+
rectangle: number;
|
|
37
|
+
closePath: number;
|
|
38
|
+
closeStroke: number;
|
|
39
|
+
closeFillStroke: number;
|
|
40
|
+
closeEOFillStroke: number;
|
|
41
|
+
stroke: number;
|
|
42
|
+
fill: number;
|
|
43
|
+
eoFill: number;
|
|
44
|
+
fillStroke: number;
|
|
45
|
+
eoFillStroke: number;
|
|
46
|
+
endPath: number;
|
|
47
|
+
setStrokeRGBColor: number;
|
|
48
|
+
setFillRGBColor: number;
|
|
49
|
+
beginText: number;
|
|
50
|
+
endText: number;
|
|
51
|
+
setFont: number;
|
|
52
|
+
setTextMatrix: number;
|
|
53
|
+
moveText: number;
|
|
54
|
+
setLeadingMoveText: number;
|
|
55
|
+
nextLine: number;
|
|
56
|
+
setLeading: number;
|
|
57
|
+
setCharSpacing: number;
|
|
58
|
+
setWordSpacing: number;
|
|
59
|
+
setHScale: number;
|
|
60
|
+
setTextRise: number;
|
|
61
|
+
setTextRenderingMode: number;
|
|
62
|
+
showText: number;
|
|
63
|
+
}
|
|
64
|
+
export interface PdfImportOperatorList {
|
|
65
|
+
fnArray: ArrayLike<number>;
|
|
66
|
+
argsArray: ArrayLike<unknown>;
|
|
67
|
+
}
|
|
68
|
+
export interface PdfImportedSubpath {
|
|
69
|
+
points: PdfImportPoint[];
|
|
70
|
+
layerName?: string;
|
|
71
|
+
/** `#rrggbb` from the stroke or fill color that painted this path. */
|
|
72
|
+
color?: string;
|
|
73
|
+
}
|
|
74
|
+
/** One PDF text-showing run, placed on the glyph baseline. */
|
|
75
|
+
export interface PdfImportedText {
|
|
76
|
+
text: string;
|
|
77
|
+
position: PdfImportPoint;
|
|
78
|
+
/** CAD text height in millimeters. */
|
|
79
|
+
height: number;
|
|
80
|
+
/** Rotation in radians, counterclockwise from +X. */
|
|
81
|
+
rotation: number;
|
|
82
|
+
widthFactor: number;
|
|
83
|
+
layerName?: string;
|
|
84
|
+
/** `#rrggbb` fill color, or the stroke color for stroke-only text. */
|
|
85
|
+
color?: string;
|
|
86
|
+
}
|
|
87
|
+
export interface PdfImportPageContent {
|
|
88
|
+
subpaths: PdfImportedSubpath[];
|
|
89
|
+
texts: PdfImportedText[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Converts one page operator list into model-space subpaths.
|
|
93
|
+
*
|
|
94
|
+
* Coordinates are mapped through the content-stream CTM and then the PDF.js
|
|
95
|
+
* viewport. PDF.js bakes a pure translation `q cm ... Q` into `constructPath`
|
|
96
|
+
* and removes that `transform` op, so this function applies only the
|
|
97
|
+
* transforms that remain in the operator list.
|
|
98
|
+
*
|
|
99
|
+
* @param fallbackLayerName - Layer for geometry outside a single OCG. Omit it
|
|
100
|
+
* for PDFs with no optional content so entities stay on the current layer.
|
|
101
|
+
*/
|
|
102
|
+
export declare function extractPdfImportSubpaths(opList: PdfImportOperatorList, ops: PdfImportOps, viewport: PdfImportViewport, ocgLayers: ReadonlyMap<string, {
|
|
103
|
+
layerName: string;
|
|
104
|
+
}>, fallbackLayerName?: string): PdfImportPageContent;
|
|
105
|
+
//# sourceMappingURL=pdfVectorImport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfVectorImport.d.ts","sourceRoot":"","sources":["../src/pdfVectorImport.ts"],"names":[],"mappings":"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"}
|