@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.
@@ -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-DhIDZFPx.cjs");
7
- const pdfFonts = require("./svgTextToPath-7fhL08qs.cjs");
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("./svgTextToPath-7fhL08qs.cjs")).then((n) => n.pdfFonts);
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, _b;
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") && ((_b = rewrittenDoc.documentElement) == null ? void 0 : _b.tagName.toLowerCase()) === "svg") {
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-DhIDZFPx.cjs")).then((n) => n.canvasImageLoader);
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-DhIDZFPx.cjs")).then((n) => n.canvasImageLoader);
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-BbKisSsi.cjs.map
5244
+ //# sourceMappingURL=vectorPdfExport-vZ8VHnu6.cjs.map