@mlightcad/cad-pdf-plugin 1.7.3 → 1.7.5
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 +180 -180
- 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 +9 -9
|
@@ -4,6 +4,7 @@ import { AcApContext, AcEdCommand } from '@mlightcad/cad-simple-viewer';
|
|
|
4
4
|
* The command name is `ipdf`.
|
|
5
5
|
*/
|
|
6
6
|
export declare class AcApImportPdfCmd extends AcEdCommand {
|
|
7
|
+
constructor();
|
|
7
8
|
/**
|
|
8
9
|
* Opens a file picker and imports vector geometry from the selected PDF.
|
|
9
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApImportPdfCmd.d.ts","sourceRoot":"","sources":["../src/AcApImportPdfCmd.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AcApImportPdfCmd.d.ts","sourceRoot":"","sources":["../src/AcApImportPdfCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EAEZ,MAAM,8BAA8B,CAAA;AAIrC;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;;IAK/C;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW;CAInC"}
|
package/lib/AcApImportPdfCmd.js
CHANGED
|
@@ -49,7 +49,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
49
49
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
import { AcEdCommand } from '@mlightcad/cad-simple-viewer';
|
|
52
|
+
import { AcEdCommand, AcEdOpenMode } from '@mlightcad/cad-simple-viewer';
|
|
53
53
|
import { AcApPdfImportConvertor } from './AcApPdfImportConvertor';
|
|
54
54
|
/**
|
|
55
55
|
* Command for importing vector geometry from a PDF file.
|
|
@@ -58,7 +58,9 @@ import { AcApPdfImportConvertor } from './AcApPdfImportConvertor';
|
|
|
58
58
|
var AcApImportPdfCmd = /** @class */ (function (_super) {
|
|
59
59
|
__extends(AcApImportPdfCmd, _super);
|
|
60
60
|
function AcApImportPdfCmd() {
|
|
61
|
-
|
|
61
|
+
var _this = _super.call(this) || this;
|
|
62
|
+
_this.mode = AcEdOpenMode.Write;
|
|
63
|
+
return _this;
|
|
62
64
|
}
|
|
63
65
|
/**
|
|
64
66
|
* Opens a file picker and imports vector geometry from the selected PDF.
|
|
@@ -69,9 +71,14 @@ var AcApImportPdfCmd = /** @class */ (function (_super) {
|
|
|
69
71
|
return __awaiter(this, void 0, void 0, function () {
|
|
70
72
|
var convertor;
|
|
71
73
|
return __generator(this, function (_a) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
switch (_a.label) {
|
|
75
|
+
case 0:
|
|
76
|
+
convertor = new AcApPdfImportConvertor();
|
|
77
|
+
return [4 /*yield*/, convertor.importFromFilePicker(context)];
|
|
78
|
+
case 1:
|
|
79
|
+
_a.sent();
|
|
80
|
+
return [2 /*return*/];
|
|
81
|
+
}
|
|
75
82
|
});
|
|
76
83
|
});
|
|
77
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApImportPdfCmd.js","sourceRoot":"","sources":["../src/AcApImportPdfCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AcApImportPdfCmd.js","sourceRoot":"","sources":["../src/AcApImportPdfCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAEL,WAAW,EACX,YAAY,EACb,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE;;;GAGG;AACH;IAAsC,oCAAW;IAC/C;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAA;;IAChC,CAAC;IACD;;;;OAIG;IACG,kCAAO,GAAb,UAAc,OAAoB;;;;;;wBAC1B,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAA;wBAC9C,qBAAM,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAA;;wBAA7C,SAA6C,CAAA;;;;;KAC9C;IACH,uBAAC;AAAD,CAAC,AAdD,CAAsC,WAAW,GAchD"}
|
|
@@ -9,9 +9,11 @@ import type { AcPdfTextFontResolver } from '@mlightcad/pdf-renderer';
|
|
|
9
9
|
* Only a catalog *miss* falls through to the replacement — a direct SHX hit
|
|
10
10
|
* stays SHX so those texts keep their vector-glyph appearance in the PDF.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* Prefer IndexedDB (`AcApFontUtil.getCachedMeshFontProgram`) when the face was
|
|
13
|
+
* already cached during rendering. Fall back to `fetch` the catalog URL, then
|
|
14
|
+
* persist the program to IndexedDB for later exports. MeshFont itself keeps
|
|
15
|
+
* only parsed glyph tables, so without IDB/fetch PDF export would have nothing
|
|
16
|
+
* to embed.
|
|
15
17
|
*
|
|
16
18
|
* SHX fonts have no embeddable program and resolve `undefined` — the renderer
|
|
17
19
|
* then paints those texts as vector glyphs, matching the on-screen fallback.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApPdfFontResolver.d.ts","sourceRoot":"","sources":["../src/AcApPdfFontResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE
|
|
1
|
+
{"version":3,"file":"AcApPdfFontResolver.d.ts","sourceRoot":"","sources":["../src/AcApPdfFontResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,EAAE,qBA4CnC,CAAA"}
|
|
@@ -34,6 +34,31 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
38
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
39
|
+
if (!m) return o;
|
|
40
|
+
var i = m.call(o), r, ar = [], e;
|
|
41
|
+
try {
|
|
42
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
43
|
+
}
|
|
44
|
+
catch (error) { e = { error: error }; }
|
|
45
|
+
finally {
|
|
46
|
+
try {
|
|
47
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
48
|
+
}
|
|
49
|
+
finally { if (e) throw e.error; }
|
|
50
|
+
}
|
|
51
|
+
return ar;
|
|
52
|
+
};
|
|
53
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
54
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
55
|
+
if (ar || !(i in from)) {
|
|
56
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
57
|
+
ar[i] = from[i];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
61
|
+
};
|
|
37
62
|
import { AcApFontUtil } from '@mlightcad/cad-simple-viewer';
|
|
38
63
|
/**
|
|
39
64
|
* Resolves embeddable TTF/OTF/WOFF font programs for `textMode: 'text'` PDF
|
|
@@ -45,15 +70,18 @@ import { AcApFontUtil } from '@mlightcad/cad-simple-viewer';
|
|
|
45
70
|
* Only a catalog *miss* falls through to the replacement — a direct SHX hit
|
|
46
71
|
* stays SHX so those texts keep their vector-glyph appearance in the PDF.
|
|
47
72
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
73
|
+
* Prefer IndexedDB (`AcApFontUtil.getCachedMeshFontProgram`) when the face was
|
|
74
|
+
* already cached during rendering. Fall back to `fetch` the catalog URL, then
|
|
75
|
+
* persist the program to IndexedDB for later exports. MeshFont itself keeps
|
|
76
|
+
* only parsed glyph tables, so without IDB/fetch PDF export would have nothing
|
|
77
|
+
* to embed.
|
|
51
78
|
*
|
|
52
79
|
* SHX fonts have no embeddable program and resolve `undefined` — the renderer
|
|
53
80
|
* then paints those texts as vector glyphs, matching the on-screen fallback.
|
|
54
81
|
*/
|
|
55
82
|
export var resolveViewerTextFont = function (fontName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
|
-
var info, res,
|
|
83
|
+
var info, cached, res, buffer, aliases, error_1;
|
|
84
|
+
var _a;
|
|
57
85
|
return __generator(this, function (_b) {
|
|
58
86
|
switch (_b.label) {
|
|
59
87
|
case 0:
|
|
@@ -66,29 +94,41 @@ export var resolveViewerTextFont = function (fontName) { return __awaiter(void 0
|
|
|
66
94
|
'texts using it are painted as vector glyphs');
|
|
67
95
|
return [2 /*return*/, undefined];
|
|
68
96
|
}
|
|
69
|
-
|
|
97
|
+
return [4 /*yield*/, AcApFontUtil.getCachedMeshFontProgram(fontName)];
|
|
70
98
|
case 1:
|
|
71
|
-
_b.
|
|
72
|
-
|
|
99
|
+
cached = _b.sent();
|
|
100
|
+
if (cached && cached.byteLength > 0) {
|
|
101
|
+
return [2 /*return*/, cached];
|
|
102
|
+
}
|
|
103
|
+
_b.label = 2;
|
|
73
104
|
case 2:
|
|
105
|
+
_b.trys.push([2, 6, , 7]);
|
|
106
|
+
return [4 /*yield*/, fetch(info.url)];
|
|
107
|
+
case 3:
|
|
74
108
|
res = _b.sent();
|
|
75
109
|
if (!res.ok) {
|
|
76
110
|
console.warn("[cad-pdf-plugin] Font \"".concat(fontName, "\" fetch failed (").concat(res.status, " ").concat(info.url, "); ") +
|
|
77
111
|
'texts using it are painted as vector glyphs');
|
|
78
112
|
return [2 /*return*/, undefined];
|
|
79
113
|
}
|
|
80
|
-
_a = Uint8Array.bind;
|
|
81
114
|
return [4 /*yield*/, res.arrayBuffer()];
|
|
82
|
-
case 3:
|
|
83
|
-
bytes = new (_a.apply(Uint8Array, [void 0, _b.sent()]))();
|
|
84
|
-
return [2 /*return*/, bytes.byteLength > 0 ? bytes : undefined];
|
|
85
115
|
case 4:
|
|
116
|
+
buffer = _b.sent();
|
|
117
|
+
if (buffer.byteLength <= 0) {
|
|
118
|
+
return [2 /*return*/, undefined];
|
|
119
|
+
}
|
|
120
|
+
aliases = __spreadArray([fontName], __read(((_a = info.name) !== null && _a !== void 0 ? _a : [])), false).filter(function (n) { return typeof n === 'string' && n.length > 0; });
|
|
121
|
+
return [4 /*yield*/, AcApFontUtil.persistMeshFontProgram(buffer, info.file, aliases)];
|
|
122
|
+
case 5:
|
|
123
|
+
_b.sent();
|
|
124
|
+
return [2 /*return*/, new Uint8Array(buffer)];
|
|
125
|
+
case 6:
|
|
86
126
|
error_1 = _b.sent();
|
|
87
127
|
console.warn("[cad-pdf-plugin] Font \"".concat(fontName, "\" fetch errored (").concat(info.url, "): ") +
|
|
88
128
|
"".concat(error_1 instanceof Error ? error_1.message : String(error_1), "; ") +
|
|
89
129
|
'texts using it are painted as vector glyphs');
|
|
90
130
|
return [2 /*return*/, undefined];
|
|
91
|
-
case
|
|
131
|
+
case 7: return [2 /*return*/];
|
|
92
132
|
}
|
|
93
133
|
});
|
|
94
134
|
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApPdfFontResolver.js","sourceRoot":"","sources":["../src/AcApPdfFontResolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AcApPdfFontResolver.js","sourceRoot":"","sources":["../src/AcApPdfFontResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApPdfGlyphProvider.d.ts","sourceRoot":"","sources":["../src/AcApPdfGlyphProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AcApPdfGlyphProvider.d.ts","sourceRoot":"","sources":["../src/AcApPdfGlyphProvider.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAKV,kBAAkB,EACnB,MAAM,yBAAyB,CAAA;AA+BhC;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,IAAI,kBAAkB,CAqDjE"}
|
|
@@ -34,6 +34,31 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
38
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
39
|
+
if (!m) return o;
|
|
40
|
+
var i = m.call(o), r, ar = [], e;
|
|
41
|
+
try {
|
|
42
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
43
|
+
}
|
|
44
|
+
catch (error) { e = { error: error }; }
|
|
45
|
+
finally {
|
|
46
|
+
try {
|
|
47
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
48
|
+
}
|
|
49
|
+
finally { if (e) throw e.error; }
|
|
50
|
+
}
|
|
51
|
+
return ar;
|
|
52
|
+
};
|
|
53
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
54
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
55
|
+
if (ar || !(i in from)) {
|
|
56
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
57
|
+
ar[i] = from[i];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
61
|
+
};
|
|
37
62
|
var __values = (this && this.__values) || function(o) {
|
|
38
63
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
39
64
|
if (m) return m.call(o);
|
|
@@ -45,6 +70,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
45
70
|
};
|
|
46
71
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
47
72
|
};
|
|
73
|
+
import { MTextColor } from '@mlightcad/mtext-parser';
|
|
48
74
|
import { AcTrMTextRenderer } from '@mlightcad/three-renderer';
|
|
49
75
|
/**
|
|
50
76
|
* Turns the viewer's already-initialized mtext renderer into PDF glyph
|
|
@@ -65,9 +91,9 @@ export function createViewerPdfGlyphProvider() {
|
|
|
65
91
|
};
|
|
66
92
|
var emptyBox = { min: { x: 0, y: 0 }, max: { x: 0, y: 0 } };
|
|
67
93
|
return {
|
|
68
|
-
renderMText: function (data, style) {
|
|
94
|
+
renderMText: function (data, style, colorSettings) {
|
|
69
95
|
return __awaiter(this, void 0, void 0, function () {
|
|
70
|
-
var renderer, object, contents, _a, primitives, box, _b;
|
|
96
|
+
var renderer, object, contents, _a, primitives, colorGroups, box, _b;
|
|
71
97
|
var _c, _d, _e, _f, _g, _h;
|
|
72
98
|
return __generator(this, function (_j) {
|
|
73
99
|
switch (_j.label) {
|
|
@@ -77,12 +103,12 @@ export function createViewerPdfGlyphProvider() {
|
|
|
77
103
|
return [4 /*yield*/, renderer.asyncRenderMText(
|
|
78
104
|
// AcGi and mtext-renderer attachment enums are structurally compatible
|
|
79
105
|
// at runtime but diverge in the TypeScript type graph.
|
|
80
|
-
data, style)];
|
|
106
|
+
data, style, toMTextColorSettings(colorSettings))];
|
|
81
107
|
case 1:
|
|
82
108
|
object = (_j.sent());
|
|
83
109
|
contents = (_d = (_c = data.contents) !== null && _c !== void 0 ? _c : data.text) !== null && _d !== void 0 ? _d : '';
|
|
84
|
-
_a = extractGlyphPrimitives(object, (_f = (_e = data.position) === null || _e === void 0 ? void 0 : _e.x) !== null && _f !== void 0 ? _f : 0, (_h = (_g = data.position) === null || _g === void 0 ? void 0 : _g.y) !== null && _h !== void 0 ? _h : 0), primitives = _a.primitives, box = _a.box;
|
|
85
|
-
return [2 /*return*/, { primitives: primitives, actualText: contents, box: box }];
|
|
110
|
+
_a = extractGlyphPrimitives(object, (_f = (_e = data.position) === null || _e === void 0 ? void 0 : _e.x) !== null && _f !== void 0 ? _f : 0, (_h = (_g = data.position) === null || _g === void 0 ? void 0 : _g.y) !== null && _h !== void 0 ? _h : 0), primitives = _a.primitives, colorGroups = _a.colorGroups, box = _a.box;
|
|
111
|
+
return [2 /*return*/, { primitives: primitives, colorGroups: colorGroups, actualText: contents, box: box }];
|
|
86
112
|
case 2:
|
|
87
113
|
_b = _j.sent();
|
|
88
114
|
return [2 /*return*/, { primitives: empty, actualText: '', box: emptyBox }];
|
|
@@ -115,20 +141,51 @@ export function createViewerPdfGlyphProvider() {
|
|
|
115
141
|
}
|
|
116
142
|
};
|
|
117
143
|
}
|
|
144
|
+
function toMTextColorSettings(settings) {
|
|
145
|
+
if (!settings) {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
var color = new MTextColor();
|
|
149
|
+
if (settings.entityIsByLayer) {
|
|
150
|
+
color.aci = 256;
|
|
151
|
+
}
|
|
152
|
+
else if (settings.entityIsByBlock) {
|
|
153
|
+
color.aci = 0;
|
|
154
|
+
}
|
|
155
|
+
else if (settings.entityIsForeground) {
|
|
156
|
+
color.aci = 7;
|
|
157
|
+
}
|
|
158
|
+
else if (typeof settings.entityAci === 'number') {
|
|
159
|
+
color.aci = settings.entityAci;
|
|
160
|
+
}
|
|
161
|
+
else if (typeof settings.entityRgb === 'number') {
|
|
162
|
+
color.rgbValue = settings.entityRgb;
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
color.aci = 7;
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
color: color,
|
|
169
|
+
byLayerColor: settings.byLayerColor,
|
|
170
|
+
byBlockColor: settings.byBlockColor,
|
|
171
|
+
layer: settings.layer
|
|
172
|
+
};
|
|
173
|
+
}
|
|
118
174
|
/**
|
|
119
175
|
* Builds flat triangle/polyline buffers from the rendered scene graph,
|
|
120
176
|
* baking each node's world matrix and translating the result so (0,0) is the
|
|
121
|
-
* text's insertion point.
|
|
177
|
+
* text's insertion point. Geometry is also grouped by material colour so
|
|
178
|
+
* inline `\C` overrides survive vector PDF export.
|
|
122
179
|
*/
|
|
123
180
|
function extractGlyphPrimitives(root, originX, originY) {
|
|
124
|
-
var e_1, _a;
|
|
125
|
-
var
|
|
126
|
-
(
|
|
181
|
+
var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
|
|
182
|
+
var _e, _f, _g;
|
|
183
|
+
(_e = root.updateMatrixWorld) === null || _e === void 0 ? void 0 : _e.call(root, true);
|
|
127
184
|
var sources = [];
|
|
128
|
-
var
|
|
129
|
-
var
|
|
185
|
+
var triangleFloatsByColor = new Map();
|
|
186
|
+
var lineFloatsByColor = new Map();
|
|
130
187
|
root.traverse(function (node) {
|
|
131
|
-
var _a, _b;
|
|
188
|
+
var _a, _b, _c, _d, _e;
|
|
132
189
|
var geom = node.geometry;
|
|
133
190
|
if (!geom) {
|
|
134
191
|
return;
|
|
@@ -137,6 +194,7 @@ function extractGlyphPrimitives(root, originX, originY) {
|
|
|
137
194
|
if (!pos || pos.count < 1) {
|
|
138
195
|
return;
|
|
139
196
|
}
|
|
197
|
+
var rgb = (_a = readMaterialRgb(node)) !== null && _a !== void 0 ? _a : 0xffffff;
|
|
140
198
|
if (node.isMesh) {
|
|
141
199
|
var index = geom.getIndex();
|
|
142
200
|
var triCount = index ? index.count / 3 : Math.floor(pos.count / 3);
|
|
@@ -144,60 +202,72 @@ function extractGlyphPrimitives(root, originX, originY) {
|
|
|
144
202
|
return;
|
|
145
203
|
}
|
|
146
204
|
sources.push({
|
|
147
|
-
elements: (
|
|
205
|
+
elements: (_b = node.matrixWorld) === null || _b === void 0 ? void 0 : _b.elements,
|
|
148
206
|
pos: pos,
|
|
149
207
|
index: index,
|
|
150
208
|
isMesh: true,
|
|
151
|
-
isSegments: false
|
|
209
|
+
isSegments: false,
|
|
210
|
+
rgb: rgb
|
|
152
211
|
});
|
|
153
|
-
|
|
212
|
+
triangleFloatsByColor.set(rgb, ((_c = triangleFloatsByColor.get(rgb)) !== null && _c !== void 0 ? _c : 0) + triCount * 6);
|
|
154
213
|
return;
|
|
155
214
|
}
|
|
156
215
|
if (node.isLine) {
|
|
157
|
-
// three.js: LineSegments extends Line, so `isLine` is true for both.
|
|
158
|
-
// Stroke-font glyphs (SHX) arrive as LineSegments where every vertex
|
|
159
|
-
// PAIR is an independent stroke — expanding them as one continuous
|
|
160
|
-
// polyline would connect glyph strokes end-to-end.
|
|
161
216
|
var segments = !!node.isLineSegments;
|
|
162
217
|
sources.push({
|
|
163
|
-
elements: (
|
|
218
|
+
elements: (_d = node.matrixWorld) === null || _d === void 0 ? void 0 : _d.elements,
|
|
164
219
|
pos: pos,
|
|
165
220
|
index: null,
|
|
166
221
|
isMesh: false,
|
|
167
|
-
isSegments: segments
|
|
222
|
+
isSegments: segments,
|
|
223
|
+
rgb: rgb
|
|
168
224
|
});
|
|
169
|
-
|
|
225
|
+
var floats = segments
|
|
170
226
|
? Math.floor(pos.count / 2) * 5
|
|
171
227
|
: pos.count * 2 + 1;
|
|
228
|
+
lineFloatsByColor.set(rgb, ((_e = lineFloatsByColor.get(rgb)) !== null && _e !== void 0 ? _e : 0) + floats);
|
|
172
229
|
}
|
|
173
230
|
});
|
|
174
|
-
var
|
|
175
|
-
var
|
|
231
|
+
var colors = __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(triangleFloatsByColor.keys()), false), __read(lineFloatsByColor.keys()), false))), false);
|
|
232
|
+
var groups = new Map();
|
|
233
|
+
try {
|
|
234
|
+
for (var colors_1 = __values(colors), colors_1_1 = colors_1.next(); !colors_1_1.done; colors_1_1 = colors_1.next()) {
|
|
235
|
+
var rgb = colors_1_1.value;
|
|
236
|
+
groups.set(rgb, {
|
|
237
|
+
triangles: new Float32Array((_f = triangleFloatsByColor.get(rgb)) !== null && _f !== void 0 ? _f : 0),
|
|
238
|
+
polylines: new Float32Array((_g = lineFloatsByColor.get(rgb)) !== null && _g !== void 0 ? _g : 0),
|
|
239
|
+
triOffset: 0,
|
|
240
|
+
lineOffset: 0
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
245
|
+
finally {
|
|
246
|
+
try {
|
|
247
|
+
if (colors_1_1 && !colors_1_1.done && (_a = colors_1.return)) _a.call(colors_1);
|
|
248
|
+
}
|
|
249
|
+
finally { if (e_1) throw e_1.error; }
|
|
250
|
+
}
|
|
176
251
|
var minX = Infinity;
|
|
177
252
|
var minY = Infinity;
|
|
178
253
|
var maxX = -Infinity;
|
|
179
254
|
var maxY = -Infinity;
|
|
180
255
|
var expand = function (x, y) {
|
|
181
|
-
if (x < minX)
|
|
256
|
+
if (x < minX)
|
|
182
257
|
minX = x;
|
|
183
|
-
|
|
184
|
-
if (y < minY) {
|
|
258
|
+
if (y < minY)
|
|
185
259
|
minY = y;
|
|
186
|
-
|
|
187
|
-
if (x > maxX) {
|
|
260
|
+
if (x > maxX)
|
|
188
261
|
maxX = x;
|
|
189
|
-
|
|
190
|
-
if (y > maxY) {
|
|
262
|
+
if (y > maxY)
|
|
191
263
|
maxY = y;
|
|
192
|
-
}
|
|
193
264
|
};
|
|
194
|
-
var triOffset = 0;
|
|
195
|
-
var lineOffset = 0;
|
|
196
265
|
var _loop_1 = function (source) {
|
|
266
|
+
var group = groups.get(source.rgb);
|
|
267
|
+
if (!group)
|
|
268
|
+
return "continue";
|
|
197
269
|
var el = source.elements;
|
|
198
270
|
var pos = source.pos;
|
|
199
|
-
// Full 4x4 transform with perspective divide, matching the previous
|
|
200
|
-
// per-point `applyWorldMatrix` behavior.
|
|
201
271
|
var world = function (i) {
|
|
202
272
|
var x = pos.getX(i);
|
|
203
273
|
var y = pos.getY(i);
|
|
@@ -222,35 +292,34 @@ function extractGlyphPrimitives(root, originX, originY) {
|
|
|
222
292
|
var p = world(vi);
|
|
223
293
|
var x = p.x - originX;
|
|
224
294
|
var y = p.y - originY;
|
|
225
|
-
triangles[triOffset++] = x;
|
|
226
|
-
triangles[triOffset++] = y;
|
|
295
|
+
group.triangles[group.triOffset++] = x;
|
|
296
|
+
group.triangles[group.triOffset++] = y;
|
|
227
297
|
expand(x, y);
|
|
228
298
|
}
|
|
229
299
|
}
|
|
230
300
|
}
|
|
231
301
|
else if (source.isSegments) {
|
|
232
|
-
// One polyline per vertex pair: each stroke stays independent.
|
|
233
302
|
var pairCount = Math.floor(pos.count / 2);
|
|
234
303
|
for (var s = 0; s < pairCount; s++) {
|
|
235
|
-
polylines[lineOffset++] = 2;
|
|
304
|
+
group.polylines[group.lineOffset++] = 2;
|
|
236
305
|
for (var k = 0; k < 2; k++) {
|
|
237
306
|
var p = world(s * 2 + k);
|
|
238
307
|
var x = p.x - originX;
|
|
239
308
|
var y = p.y - originY;
|
|
240
|
-
polylines[lineOffset++] = x;
|
|
241
|
-
polylines[lineOffset++] = y;
|
|
309
|
+
group.polylines[group.lineOffset++] = x;
|
|
310
|
+
group.polylines[group.lineOffset++] = y;
|
|
242
311
|
expand(x, y);
|
|
243
312
|
}
|
|
244
313
|
}
|
|
245
314
|
}
|
|
246
315
|
else {
|
|
247
|
-
polylines[lineOffset++] = pos.count;
|
|
316
|
+
group.polylines[group.lineOffset++] = pos.count;
|
|
248
317
|
for (var i = 0; i < pos.count; i++) {
|
|
249
318
|
var p = world(i);
|
|
250
319
|
var x = p.x - originX;
|
|
251
320
|
var y = p.y - originY;
|
|
252
|
-
polylines[lineOffset++] = x;
|
|
253
|
-
polylines[lineOffset++] = y;
|
|
321
|
+
group.polylines[group.lineOffset++] = x;
|
|
322
|
+
group.polylines[group.lineOffset++] = y;
|
|
254
323
|
expand(x, y);
|
|
255
324
|
}
|
|
256
325
|
}
|
|
@@ -261,17 +330,78 @@ function extractGlyphPrimitives(root, originX, originY) {
|
|
|
261
330
|
_loop_1(source);
|
|
262
331
|
}
|
|
263
332
|
}
|
|
264
|
-
catch (
|
|
333
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
265
334
|
finally {
|
|
266
335
|
try {
|
|
267
|
-
if (sources_1_1 && !sources_1_1.done && (
|
|
336
|
+
if (sources_1_1 && !sources_1_1.done && (_b = sources_1.return)) _b.call(sources_1);
|
|
337
|
+
}
|
|
338
|
+
finally { if (e_2) throw e_2.error; }
|
|
339
|
+
}
|
|
340
|
+
var colorGroups = [];
|
|
341
|
+
var totalTri = 0;
|
|
342
|
+
var totalLine = 0;
|
|
343
|
+
try {
|
|
344
|
+
for (var groups_1 = __values(groups), groups_1_1 = groups_1.next(); !groups_1_1.done; groups_1_1 = groups_1.next()) {
|
|
345
|
+
var _h = __read(groups_1_1.value, 2), rgb = _h[0], group = _h[1];
|
|
346
|
+
var primitives_1 = {
|
|
347
|
+
triangles: group.triangles,
|
|
348
|
+
polylines: group.polylines
|
|
349
|
+
};
|
|
350
|
+
if (primitives_1.triangles.length >= 6 || primitives_1.polylines.length >= 2) {
|
|
351
|
+
colorGroups.push({ rgb: rgb, primitives: primitives_1 });
|
|
352
|
+
}
|
|
353
|
+
totalTri += group.triangles.length;
|
|
354
|
+
totalLine += group.polylines.length;
|
|
268
355
|
}
|
|
269
|
-
|
|
356
|
+
}
|
|
357
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
358
|
+
finally {
|
|
359
|
+
try {
|
|
360
|
+
if (groups_1_1 && !groups_1_1.done && (_c = groups_1.return)) _c.call(groups_1);
|
|
361
|
+
}
|
|
362
|
+
finally { if (e_3) throw e_3.error; }
|
|
363
|
+
}
|
|
364
|
+
// Combined buffers keep callers that ignore colorGroups working.
|
|
365
|
+
var triangles = new Float32Array(totalTri);
|
|
366
|
+
var polylines = new Float32Array(totalLine);
|
|
367
|
+
var triOffset = 0;
|
|
368
|
+
var lineOffset = 0;
|
|
369
|
+
try {
|
|
370
|
+
for (var colorGroups_1 = __values(colorGroups), colorGroups_1_1 = colorGroups_1.next(); !colorGroups_1_1.done; colorGroups_1_1 = colorGroups_1.next()) {
|
|
371
|
+
var group = colorGroups_1_1.value;
|
|
372
|
+
triangles.set(group.primitives.triangles, triOffset);
|
|
373
|
+
triOffset += group.primitives.triangles.length;
|
|
374
|
+
polylines.set(group.primitives.polylines, lineOffset);
|
|
375
|
+
lineOffset += group.primitives.polylines.length;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
379
|
+
finally {
|
|
380
|
+
try {
|
|
381
|
+
if (colorGroups_1_1 && !colorGroups_1_1.done && (_d = colorGroups_1.return)) _d.call(colorGroups_1);
|
|
382
|
+
}
|
|
383
|
+
finally { if (e_4) throw e_4.error; }
|
|
270
384
|
}
|
|
271
385
|
var primitives = { triangles: triangles, polylines: polylines };
|
|
272
386
|
var box = Number.isFinite(minX)
|
|
273
387
|
? { min: { x: minX, y: minY }, max: { x: maxX, y: maxY } }
|
|
274
388
|
: { min: { x: 0, y: 0 }, max: { x: 0, y: 0 } };
|
|
275
|
-
return {
|
|
389
|
+
return {
|
|
390
|
+
primitives: primitives,
|
|
391
|
+
// Always surface groups when present so a lone `\C256` green run is not
|
|
392
|
+
// painted with the entity fill (often ACI 7 white).
|
|
393
|
+
colorGroups: colorGroups.length > 0 ? colorGroups : undefined,
|
|
394
|
+
box: box
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
function readMaterialRgb(node) {
|
|
398
|
+
var _a, _b;
|
|
399
|
+
var material = node.material;
|
|
400
|
+
if (!material) {
|
|
401
|
+
return undefined;
|
|
402
|
+
}
|
|
403
|
+
var first = Array.isArray(material) ? material[0] : material;
|
|
404
|
+
var hex = (_b = (_a = first === null || first === void 0 ? void 0 : first.color) === null || _a === void 0 ? void 0 : _a.getHex) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
405
|
+
return typeof hex === 'number' ? hex : undefined;
|
|
276
406
|
}
|
|
277
407
|
//# sourceMappingURL=AcApPdfGlyphProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApPdfGlyphProvider.js","sourceRoot":"","sources":["../src/AcApPdfGlyphProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AcApPdfGlyphProvider.js","sourceRoot":"","sources":["../src/AcApPdfGlyphProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AcApContext } from '@mlightcad/cad-simple-viewer';
|
|
2
2
|
/**
|
|
3
3
|
* Converts a PDF file into CAD entities appended to the current document's
|
|
4
4
|
* model space.
|
|
@@ -7,17 +7,25 @@ export declare class AcApPdfImportConvertor {
|
|
|
7
7
|
/**
|
|
8
8
|
* Prompts the user to pick a PDF file and imports vector geometry.
|
|
9
9
|
*
|
|
10
|
+
* Returns without database edits when the picker is dismissed. The command
|
|
11
|
+
* undo mark then has no committed changes, so nothing is pushed onto the
|
|
12
|
+
* undo stack.
|
|
13
|
+
*
|
|
10
14
|
* @param context - Application context for the target document
|
|
11
15
|
*/
|
|
12
|
-
importFromFilePicker(context: AcApContext): void
|
|
16
|
+
importFromFilePicker(context: AcApContext): Promise<void>;
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
+
* Opens the browser file picker.
|
|
19
|
+
*
|
|
20
|
+
* Resolves `undefined` when the user cancels the picker. `cancel` does not
|
|
21
|
+
* fire for every dismiss path, so closing the dialog (window focus with no
|
|
22
|
+
* selected file) also settles the promise. Otherwise `ipdf` would stay
|
|
23
|
+
* inside its write transaction.
|
|
18
24
|
*/
|
|
25
|
+
private pickPdfFile;
|
|
19
26
|
convert(context: AcApContext, data: ArrayBuffer, pageNumber?: number): Promise<void>;
|
|
20
|
-
private
|
|
27
|
+
private importPage;
|
|
21
28
|
private subpathToEntity;
|
|
29
|
+
private textToEntity;
|
|
22
30
|
}
|
|
23
31
|
//# sourceMappingURL=AcApPdfImportConvertor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcApPdfImportConvertor.d.ts","sourceRoot":"","sources":["../src/AcApPdfImportConvertor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AcApPdfImportConvertor.d.ts","sourceRoot":"","sources":["../src/AcApPdfImportConvertor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,8BAA8B,CAAA;AA4CrC;;;GAGG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;OAQG;IACG,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IA8Cb,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,SAAI;YAOvD,UAAU;IAiGxB,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,YAAY;CAiBrB"}
|