@embedpdf/engine-services 3.0.0-next.6 → 3.0.0-next.8
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/index.cjs +105 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +35 -3
- package/dist/index.d.ts +35 -3
- package/dist/index.js +105 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -9251,9 +9251,10 @@ function validatePatchValue(key, value) {
|
|
|
9251
9251
|
* worker wire shape from @embedpdf/engine-core.
|
|
9252
9252
|
*/
|
|
9253
9253
|
var WorkerHost = class {
|
|
9254
|
-
constructor(runtime, post) {
|
|
9254
|
+
constructor(runtime, post, options = {}) {
|
|
9255
9255
|
this.runtime = runtime;
|
|
9256
9256
|
this.post = post;
|
|
9257
|
+
this.options = options;
|
|
9257
9258
|
_defineProperty(this, "sessions", /* @__PURE__ */ new Map());
|
|
9258
9259
|
_defineProperty(this, "baseDocuments", void 0);
|
|
9259
9260
|
_defineProperty(this, "aborts", /* @__PURE__ */ new Map());
|
|
@@ -9279,6 +9280,10 @@ var WorkerHost = class {
|
|
|
9279
9280
|
this.aborts.get(msg.jobId)?.abort();
|
|
9280
9281
|
return;
|
|
9281
9282
|
}
|
|
9283
|
+
if (msg.kind === "pages.renderEncoded" || msg.kind === "document.renderPageFileEncoded" || msg.kind === "annotations.renderAppearancesEncoded") {
|
|
9284
|
+
this.receiveEncoded(msg);
|
|
9285
|
+
return;
|
|
9286
|
+
}
|
|
9282
9287
|
const ctrl = new AbortController();
|
|
9283
9288
|
this.aborts.set(msg.jobId, ctrl);
|
|
9284
9289
|
let resultPack;
|
|
@@ -9766,6 +9771,105 @@ var WorkerHost = class {
|
|
|
9766
9771
|
raster
|
|
9767
9772
|
}, [raster.data]);
|
|
9768
9773
|
}
|
|
9774
|
+
async receiveEncoded(msg) {
|
|
9775
|
+
if (!this.options.imageEncoder) {
|
|
9776
|
+
this.post((0, _embedpdf_engine_core_runtime.wirePack)({
|
|
9777
|
+
kind: "reject",
|
|
9778
|
+
jobId: msg.jobId,
|
|
9779
|
+
error: (0, _embedpdf_engine_core_runtime.serializeError)(new _embedpdf_engine_core_runtime.EngineError(_embedpdf_engine_core_runtime.EngineErrorCode.NotImplemented, "this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)"))
|
|
9780
|
+
}, _embedpdf_engine_core_runtime.EMPTY_TRANSFER));
|
|
9781
|
+
return;
|
|
9782
|
+
}
|
|
9783
|
+
const ctrl = new AbortController();
|
|
9784
|
+
this.aborts.set(msg.jobId, ctrl);
|
|
9785
|
+
try {
|
|
9786
|
+
let resultPack;
|
|
9787
|
+
switch (msg.kind) {
|
|
9788
|
+
case "pages.renderEncoded":
|
|
9789
|
+
resultPack = await this.handlePagesRenderEncoded(msg, ctrl.signal);
|
|
9790
|
+
break;
|
|
9791
|
+
case "document.renderPageFileEncoded":
|
|
9792
|
+
resultPack = await this.handleDocumentRenderPageFileEncoded(msg, ctrl.signal);
|
|
9793
|
+
break;
|
|
9794
|
+
case "annotations.renderAppearancesEncoded":
|
|
9795
|
+
resultPack = await this.handleAnnotationsRenderAppearancesEncoded(msg, ctrl.signal);
|
|
9796
|
+
break;
|
|
9797
|
+
}
|
|
9798
|
+
this.post((0, _embedpdf_engine_core_runtime.wirePack)({
|
|
9799
|
+
kind: "resolve",
|
|
9800
|
+
jobId: msg.jobId,
|
|
9801
|
+
result: resultPack.payload
|
|
9802
|
+
}, resultPack.transfer));
|
|
9803
|
+
} catch (err) {
|
|
9804
|
+
this.post((0, _embedpdf_engine_core_runtime.wirePack)({
|
|
9805
|
+
kind: "reject",
|
|
9806
|
+
jobId: msg.jobId,
|
|
9807
|
+
error: (0, _embedpdf_engine_core_runtime.serializeError)(err)
|
|
9808
|
+
}, _embedpdf_engine_core_runtime.EMPTY_TRANSFER));
|
|
9809
|
+
} finally {
|
|
9810
|
+
this.aborts.delete(msg.jobId);
|
|
9811
|
+
}
|
|
9812
|
+
}
|
|
9813
|
+
async encodeRaster(raster, encode, signal) {
|
|
9814
|
+
const encoder = this.options.imageEncoder;
|
|
9815
|
+
if (!encoder) throw new _embedpdf_engine_core_runtime.EngineError(_embedpdf_engine_core_runtime.EngineErrorCode.NotImplemented, "this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)");
|
|
9816
|
+
const { bytes, contentType } = await encoder.encode(raster, encode);
|
|
9817
|
+
if (signal.aborted) throw new _embedpdf_engine_core_runtime.EngineError(_embedpdf_engine_core_runtime.EngineErrorCode.Aborted, "aborted during image encode");
|
|
9818
|
+
return {
|
|
9819
|
+
contentType,
|
|
9820
|
+
width: raster.width,
|
|
9821
|
+
height: raster.height,
|
|
9822
|
+
bytes
|
|
9823
|
+
};
|
|
9824
|
+
}
|
|
9825
|
+
async handlePagesRenderEncoded(req, signal) {
|
|
9826
|
+
const inner = this.handlePagesRender({
|
|
9827
|
+
...req,
|
|
9828
|
+
kind: "pages.render"
|
|
9829
|
+
}, signal);
|
|
9830
|
+
if (inner.payload.tag !== "pages.render") throw new _embedpdf_engine_core_runtime.EngineError(_embedpdf_engine_core_runtime.EngineErrorCode.WireFormat, `unexpected ${inner.payload.tag}`);
|
|
9831
|
+
const image = await this.encodeRaster(inner.payload.raster, req.encode, signal);
|
|
9832
|
+
return (0, _embedpdf_engine_core_runtime.wirePack)({
|
|
9833
|
+
tag: "pages.renderEncoded",
|
|
9834
|
+
image
|
|
9835
|
+
}, [image.bytes.buffer]);
|
|
9836
|
+
}
|
|
9837
|
+
async handleDocumentRenderPageFileEncoded(req, signal) {
|
|
9838
|
+
const inner = this.handleDocumentRenderPageFile({
|
|
9839
|
+
...req,
|
|
9840
|
+
kind: "document.renderPageFile"
|
|
9841
|
+
}, signal);
|
|
9842
|
+
if (inner.payload.tag !== "document.renderPageFile") throw new _embedpdf_engine_core_runtime.EngineError(_embedpdf_engine_core_runtime.EngineErrorCode.WireFormat, `unexpected ${inner.payload.tag}`);
|
|
9843
|
+
const image = await this.encodeRaster(inner.payload.raster, req.encode, signal);
|
|
9844
|
+
return (0, _embedpdf_engine_core_runtime.wirePack)({
|
|
9845
|
+
tag: "document.renderPageFileEncoded",
|
|
9846
|
+
pageObjectNumber: inner.payload.pageObjectNumber,
|
|
9847
|
+
pageCount: inner.payload.pageCount,
|
|
9848
|
+
image
|
|
9849
|
+
}, [image.bytes.buffer]);
|
|
9850
|
+
}
|
|
9851
|
+
async handleAnnotationsRenderAppearancesEncoded(req, signal) {
|
|
9852
|
+
const inner = this.handleAnnotationsRenderAppearances({
|
|
9853
|
+
...req,
|
|
9854
|
+
kind: "annotations.renderAppearances"
|
|
9855
|
+
}, signal);
|
|
9856
|
+
if (inner.payload.tag !== "annotations.renderAppearances") throw new _embedpdf_engine_core_runtime.EngineError(_embedpdf_engine_core_runtime.EngineErrorCode.WireFormat, `unexpected ${inner.payload.tag}`);
|
|
9857
|
+
const { pageState, appearances } = inner.payload.result;
|
|
9858
|
+
const encoded = [];
|
|
9859
|
+
for (const a of appearances) encoded.push({
|
|
9860
|
+
ref: a.ref,
|
|
9861
|
+
mode: a.mode,
|
|
9862
|
+
rect: a.rect,
|
|
9863
|
+
image: await this.encodeRaster(a.raster, req.encode, signal)
|
|
9864
|
+
});
|
|
9865
|
+
return (0, _embedpdf_engine_core_runtime.wirePack)({
|
|
9866
|
+
tag: "annotations.renderAppearancesEncoded",
|
|
9867
|
+
result: {
|
|
9868
|
+
pageState,
|
|
9869
|
+
appearances: encoded
|
|
9870
|
+
}
|
|
9871
|
+
}, encoded.map((e) => e.image.bytes.buffer));
|
|
9872
|
+
}
|
|
9769
9873
|
handleDocumentSaveBuffer(req) {
|
|
9770
9874
|
const session = this.requireSession(req);
|
|
9771
9875
|
const saved = new DocumentSaver(this.runtime, session).saveStandaloneToBuffer(req.mode);
|