@pixldocs/canvas-renderer 0.5.180 → 0.5.181
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/README.md +27 -0
- package/dist/{index-DdrxSxRr.js → index-Ck5VHk_Q.js} +11 -5
- package/dist/index-Ck5VHk_Q.js.map +1 -0
- package/dist/{index-B9NOXCTL.cjs → index-DQBzPXXr.cjs} +11 -5
- package/dist/index-DQBzPXXr.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/previewBlur-BB8gxlmo.cjs +51 -0
- package/dist/previewBlur-BB8gxlmo.cjs.map +1 -0
- package/dist/previewBlur-Dj6dSSNO.js +51 -0
- package/dist/previewBlur-Dj6dSSNO.js.map +1 -0
- package/dist/{vectorPdfExport-B8qiTpn8.cjs → vectorPdfExport-DPng52xI.cjs} +4 -4
- package/dist/{vectorPdfExport-B8qiTpn8.cjs.map → vectorPdfExport-DPng52xI.cjs.map} +1 -1
- package/dist/{vectorPdfExport-DCZJhOmn.js → vectorPdfExport-KXmgWTkZ.js} +4 -4
- package/dist/{vectorPdfExport-DCZJhOmn.js.map → vectorPdfExport-KXmgWTkZ.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-B9NOXCTL.cjs.map +0 -1
- package/dist/index-DdrxSxRr.js.map +0 -1
package/README.md
CHANGED
|
@@ -344,3 +344,30 @@ const { config } = await resolveTemplateData({
|
|
|
344
344
|
## License
|
|
345
345
|
|
|
346
346
|
UNLICENSED — Private package for Pixldocs ecosystem only.
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Preview Blur (anti-screenshot)
|
|
351
|
+
|
|
352
|
+
Set `previewBlur: true` on any text or image element in your config to redact
|
|
353
|
+
it in watermarked previews — useful for protecting paid content (e.g. biodata
|
|
354
|
+
reference rows) from screenshot theft. The block characters (`█`) replace
|
|
355
|
+
the text content so layout/wrap stays identical, but content is unreadable.
|
|
356
|
+
|
|
357
|
+
Preview-blur is gated identically to the watermark: it only runs when
|
|
358
|
+
`watermark === true` (or, by default, when `template.price > 0` and the user
|
|
359
|
+
hasn't paid). Clean / paid downloads always render the original content.
|
|
360
|
+
|
|
361
|
+
```ts
|
|
362
|
+
// In your template config
|
|
363
|
+
{
|
|
364
|
+
id: 'reference-1-name',
|
|
365
|
+
type: 'text',
|
|
366
|
+
text: 'John Doe',
|
|
367
|
+
previewBlur: true, // ← redacted in preview, full in paid download
|
|
368
|
+
...
|
|
369
|
+
}
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
No API change is required on the consumer side — the same `renderFromForm`,
|
|
373
|
+
`renderPdfFromForm`, etc. respect the flag automatically.
|
|
@@ -16480,9 +16480,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
16480
16480
|
}
|
|
16481
16481
|
return svgString;
|
|
16482
16482
|
}
|
|
16483
|
-
const resolvedPackageVersion = "0.5.
|
|
16483
|
+
const resolvedPackageVersion = "0.5.181";
|
|
16484
16484
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
16485
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
16485
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.181";
|
|
16486
16486
|
const roundParityValue = (value) => {
|
|
16487
16487
|
if (typeof value !== "number") return value;
|
|
16488
16488
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -16781,6 +16781,8 @@ class PixldocsRenderer {
|
|
|
16781
16781
|
if (shouldWatermark) {
|
|
16782
16782
|
const { injectWatermark } = await import("./canvasWatermark-pkhacGge.js");
|
|
16783
16783
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16784
|
+
const { injectPreviewBlur } = await import("./previewBlur-Dj6dSSNO.js");
|
|
16785
|
+
configToRender = injectPreviewBlur(configToRender);
|
|
16784
16786
|
}
|
|
16785
16787
|
return this.renderAllPages(configToRender, renderOpts);
|
|
16786
16788
|
}
|
|
@@ -16838,6 +16840,8 @@ class PixldocsRenderer {
|
|
|
16838
16840
|
if (shouldWatermark) {
|
|
16839
16841
|
const { injectWatermark } = await import("./canvasWatermark-pkhacGge.js");
|
|
16840
16842
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16843
|
+
const { injectPreviewBlur } = await import("./previewBlur-Dj6dSSNO.js");
|
|
16844
|
+
configToRender = injectPreviewBlur(configToRender);
|
|
16841
16845
|
}
|
|
16842
16846
|
return this.renderAllPageSvgs(configToRender);
|
|
16843
16847
|
}
|
|
@@ -16880,6 +16884,8 @@ class PixldocsRenderer {
|
|
|
16880
16884
|
if (shouldWatermark) {
|
|
16881
16885
|
const { injectWatermark } = await import("./canvasWatermark-pkhacGge.js");
|
|
16882
16886
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16887
|
+
const { injectPreviewBlur } = await import("./previewBlur-Dj6dSSNO.js");
|
|
16888
|
+
configToRender = injectPreviewBlur(configToRender);
|
|
16883
16889
|
}
|
|
16884
16890
|
return this.renderPdfViaClientExport(configToRender, {
|
|
16885
16891
|
title: title ?? resolved.config.name,
|
|
@@ -16984,7 +16990,7 @@ class PixldocsRenderer {
|
|
|
16984
16990
|
await this.waitForCanvasScene(container, cloned, i);
|
|
16985
16991
|
}
|
|
16986
16992
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
16987
|
-
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-
|
|
16993
|
+
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-KXmgWTkZ.js");
|
|
16988
16994
|
const prepared = preparePagesForExport(
|
|
16989
16995
|
cloned.pages,
|
|
16990
16996
|
canvasWidth,
|
|
@@ -19129,7 +19135,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
19129
19135
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
19130
19136
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
19131
19137
|
try {
|
|
19132
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-
|
|
19138
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-KXmgWTkZ.js");
|
|
19133
19139
|
try {
|
|
19134
19140
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
19135
19141
|
} catch {
|
|
@@ -19525,4 +19531,4 @@ export {
|
|
|
19525
19531
|
collectFontDescriptorsFromConfig as y,
|
|
19526
19532
|
collectFontsFromConfig as z
|
|
19527
19533
|
};
|
|
19528
|
-
//# sourceMappingURL=index-
|
|
19534
|
+
//# sourceMappingURL=index-Ck5VHk_Q.js.map
|