@pixldocs/canvas-renderer 0.5.156 → 0.5.158
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-DhIDZFPx.cjs → index-B1f4qE6u.cjs} +7 -7
- package/dist/{index-DhIDZFPx.cjs.map → index-B1f4qE6u.cjs.map} +1 -1
- package/dist/{index-DJQnrBbh.js → index-D0AWrDab.js} +7 -7
- package/dist/{index-DJQnrBbh.js.map → index-D0AWrDab.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{svgTextToPath-7fhL08qs.cjs → pdfFonts-BTEVnYX8.cjs} +31 -796
- package/dist/pdfFonts-BTEVnYX8.cjs.map +1 -0
- package/dist/{svgTextToPath-V1vC0SQt.js → pdfFonts-b3_bv7F0.js} +20 -747
- package/dist/pdfFonts-b3_bv7F0.js.map +1 -0
- package/dist/svgTextToPath-BXAzwaaR.js +706 -0
- package/dist/svgTextToPath-BXAzwaaR.js.map +1 -0
- package/dist/svgTextToPath-IM1f6F-f.cjs +745 -0
- package/dist/svgTextToPath-IM1f6F-f.cjs.map +1 -0
- package/dist/{vectorPdfExport-DSTA9YWG.js → vectorPdfExport-DwZylzI2.js} +8 -44
- package/dist/vectorPdfExport-DwZylzI2.js.map +1 -0
- package/dist/{vectorPdfExport-BbKisSsi.cjs → vectorPdfExport-vZ8VHnu6.cjs} +8 -44
- package/dist/vectorPdfExport-vZ8VHnu6.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/svgTextToPath-7fhL08qs.cjs.map +0 -1
- package/dist/svgTextToPath-V1vC0SQt.js.map +0 -1
- package/dist/vectorPdfExport-BbKisSsi.cjs.map +0 -1
- package/dist/vectorPdfExport-DSTA9YWG.js.map +0 -1
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jspdf = require("jspdf");
|
|
4
4
|
const svg2pdf_js = require("svg2pdf.js");
|
|
5
5
|
const fabric = require("fabric");
|
|
6
|
-
const index = require("./index-
|
|
7
|
-
const pdfFonts = require("./
|
|
6
|
+
const index = require("./index-B1f4qE6u.cjs");
|
|
7
|
+
const pdfFonts = require("./pdfFonts-BTEVnYX8.cjs");
|
|
8
8
|
function _interopNamespaceDefault(e) {
|
|
9
9
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
10
10
|
if (e) {
|
|
@@ -31,7 +31,7 @@ async function embedFontsForSvg(pdf, svgStr) {
|
|
|
31
31
|
FONT_FALLBACK_SYMBOLS: FONT_FALLBACK_SYMBOLS2,
|
|
32
32
|
FONT_FALLBACK_DEVANAGARI: FONT_FALLBACK_DEVANAGARI2,
|
|
33
33
|
FONT_FALLBACK_MATH: FONT_FALLBACK_MATH2
|
|
34
|
-
} = await Promise.resolve().then(() => require("./
|
|
34
|
+
} = await Promise.resolve().then(() => require("./pdfFonts-BTEVnYX8.cjs"));
|
|
35
35
|
const parser = new DOMParser();
|
|
36
36
|
const doc = parser.parseFromString(svgStr, "image/svg+xml");
|
|
37
37
|
const textEls = Array.from(doc.querySelectorAll("text, tspan, textPath"));
|
|
@@ -1327,35 +1327,6 @@ async function bakeTextAnchorPositionsFromLiveSvg(svg) {
|
|
|
1327
1327
|
}
|
|
1328
1328
|
}
|
|
1329
1329
|
}
|
|
1330
|
-
function appendInvisibleSelectableTextLayer(svg) {
|
|
1331
|
-
var _a;
|
|
1332
|
-
const doc = svg.ownerDocument;
|
|
1333
|
-
if (!doc) return;
|
|
1334
|
-
const texts = Array.from(svg.querySelectorAll("text"));
|
|
1335
|
-
if (texts.length === 0) return;
|
|
1336
|
-
const SVG_NS = "http://www.w3.org/2000/svg";
|
|
1337
|
-
const layer = doc.createElementNS(SVG_NS, "g");
|
|
1338
|
-
layer.setAttribute("data-pd-selectable-layer", "1");
|
|
1339
|
-
layer.setAttribute("fill", "none");
|
|
1340
|
-
layer.setAttribute("stroke", "none");
|
|
1341
|
-
let cloned = 0;
|
|
1342
|
-
for (const text of texts) {
|
|
1343
|
-
if ((_a = text.closest) == null ? void 0 : _a.call(text, '[data-pd-selectable-layer="1"]')) continue;
|
|
1344
|
-
if (!(text.textContent || "").trim()) continue;
|
|
1345
|
-
const clone = text.cloneNode(true);
|
|
1346
|
-
clone.setAttribute("fill", "none");
|
|
1347
|
-
clone.setAttribute("stroke", "none");
|
|
1348
|
-
clone.removeAttribute("opacity");
|
|
1349
|
-
clone.removeAttribute("fill-opacity");
|
|
1350
|
-
clone.removeAttribute("stroke-opacity");
|
|
1351
|
-
layer.appendChild(clone);
|
|
1352
|
-
cloned++;
|
|
1353
|
-
}
|
|
1354
|
-
if (cloned > 0) {
|
|
1355
|
-
svg.appendChild(layer);
|
|
1356
|
-
console.log(`[Vector PDF][selectable-layer] appended ${cloned} invisible text clone(s)`);
|
|
1357
|
-
}
|
|
1358
|
-
}
|
|
1359
1330
|
async function logTextMeasurementDiagnostic(svg) {
|
|
1360
1331
|
var _a, _b, _c, _d, _e;
|
|
1361
1332
|
if (typeof window === "undefined" || typeof document === "undefined") return;
|
|
@@ -1884,7 +1855,7 @@ async function collectInlinedFontFaceCss() {
|
|
|
1884
1855
|
return cachedInlinedFontFaceCss;
|
|
1885
1856
|
}
|
|
1886
1857
|
async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey, options) {
|
|
1887
|
-
var _a
|
|
1858
|
+
var _a;
|
|
1888
1859
|
try {
|
|
1889
1860
|
const parser = new DOMParser();
|
|
1890
1861
|
const processedSvg = inlineNestedSvgImageDataUris(rawSvg, parser);
|
|
@@ -1921,17 +1892,11 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
1921
1892
|
} catch (e) {
|
|
1922
1893
|
console.warn("[Vector PDF] anchor-bake pass failed (continuing):", e);
|
|
1923
1894
|
}
|
|
1924
|
-
appendInvisibleSelectableTextLayer(svgToDraw);
|
|
1925
1895
|
await rasterizeShadowMarkers(svgToDraw);
|
|
1926
1896
|
await convertTextDecorationsToLines(svgToDraw);
|
|
1927
|
-
const outlined = await pdfFonts.convertAllTextToPath(new XMLSerializer().serializeToString(svgToDraw), void 0, { mode: "shadow-bound" });
|
|
1928
|
-
const outlinedDoc = parser.parseFromString(outlined, "image/svg+xml");
|
|
1929
|
-
if (!outlinedDoc.querySelector("parsererror") && ((_a = outlinedDoc.documentElement) == null ? void 0 : _a.tagName.toLowerCase()) === "svg") {
|
|
1930
|
-
svgToDraw = outlinedDoc.documentElement;
|
|
1931
|
-
}
|
|
1932
1897
|
const rewritten = rewriteSvgFontsForJsPDFWithSourceMeta(new XMLSerializer().serializeToString(svgToDraw));
|
|
1933
1898
|
const rewrittenDoc = parser.parseFromString(rewritten, "image/svg+xml");
|
|
1934
|
-
if (!rewrittenDoc.querySelector("parsererror") && ((
|
|
1899
|
+
if (!rewrittenDoc.querySelector("parsererror") && ((_a = rewrittenDoc.documentElement) == null ? void 0 : _a.tagName.toLowerCase()) === "svg") {
|
|
1935
1900
|
return rewrittenDoc.documentElement;
|
|
1936
1901
|
}
|
|
1937
1902
|
return svgToDraw;
|
|
@@ -2513,7 +2478,7 @@ async function fetchSvgAsElement(imageUrl, colorMap) {
|
|
|
2513
2478
|
async function getRecoloredSvgDataUrl(imageUrl, colorMap) {
|
|
2514
2479
|
if (!colorMap || Object.keys(colorMap).length === 0) return null;
|
|
2515
2480
|
try {
|
|
2516
|
-
const { getNormalizedSvgUrl } = await Promise.resolve().then(() => require("./index-
|
|
2481
|
+
const { getNormalizedSvgUrl } = await Promise.resolve().then(() => require("./index-B1f4qE6u.cjs")).then((n) => n.canvasImageLoader);
|
|
2517
2482
|
return await getNormalizedSvgUrl(imageUrl, colorMap);
|
|
2518
2483
|
} catch {
|
|
2519
2484
|
return null;
|
|
@@ -3294,7 +3259,7 @@ async function fetchImageAsBase64(imageUrl, opts = {}) {
|
|
|
3294
3259
|
}
|
|
3295
3260
|
let fetchUrl = imageUrl;
|
|
3296
3261
|
if (imageUrl.startsWith("http://") || imageUrl.startsWith("https://")) {
|
|
3297
|
-
const { isPrivateUrl } = await Promise.resolve().then(() => require("./index-
|
|
3262
|
+
const { isPrivateUrl } = await Promise.resolve().then(() => require("./index-B1f4qE6u.cjs")).then((n) => n.canvasImageLoader);
|
|
3298
3263
|
if (isPrivateUrl(imageUrl)) return null;
|
|
3299
3264
|
const proxyUrl = new URL(`${index.API_URL}/image-proxy`);
|
|
3300
3265
|
proxyUrl.searchParams.set("url", imageUrl);
|
|
@@ -5267,7 +5232,6 @@ async function exportMultiPagePdf(pages, options) {
|
|
|
5267
5232
|
}
|
|
5268
5233
|
pdf.save(filename);
|
|
5269
5234
|
}
|
|
5270
|
-
exports.appendInvisibleSelectableTextLayer = appendInvisibleSelectableTextLayer;
|
|
5271
5235
|
exports.bakeTextAnchorPositionsFromLiveSvg = bakeTextAnchorPositionsFromLiveSvg;
|
|
5272
5236
|
exports.convertSvgTextDecorationsToLinesString = convertSvgTextDecorationsToLinesString;
|
|
5273
5237
|
exports.drawPreparedLiveCanvasSvgPageToPdf = drawPreparedLiveCanvasSvgPageToPdf;
|
|
@@ -5277,4 +5241,4 @@ exports.exportMultiPagePdf = exportMultiPagePdf;
|
|
|
5277
5241
|
exports.logTextMeasurementDiagnostic = logTextMeasurementDiagnostic;
|
|
5278
5242
|
exports.preparePagesForExport = preparePagesForExport;
|
|
5279
5243
|
exports.rewriteSvgFontsForJsPDFWithSourceMeta = rewriteSvgFontsForJsPDFWithSourceMeta;
|
|
5280
|
-
//# sourceMappingURL=vectorPdfExport-
|
|
5244
|
+
//# sourceMappingURL=vectorPdfExport-vZ8VHnu6.cjs.map
|