@pixldocs/canvas-renderer 0.5.161 → 0.5.163

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-OWSb_i03.cjs");
3
+ const index = require("./index-Dct1bg7t.cjs");
4
4
  exports.DEPLOYMENT_VERSION_MARKER = index.DEPLOYMENT_VERSION_MARKER;
5
5
  exports.FONT_FALLBACK_DEVANAGARI = index.FONT_FALLBACK_DEVANAGARI;
6
6
  exports.FONT_FALLBACK_MATH = index.FONT_FALLBACK_MATH;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D, F, o, q, s, P, t, u, v, w, x, y, z, B, C, E, G, H, I, J, K, L, b, M, N, O, Q, R, S, U, V, W, X, Y, Z, _ } from "./index-Co0kEgTl.js";
1
+ import { D, F, o, q, s, P, t, u, v, w, x, y, z, B, C, E, G, H, I, J, K, L, b, M, N, O, Q, R, S, U, V, W, X, Y, Z, _ } from "./index-BJTAZJHO.js";
2
2
  export {
3
3
  D as DEPLOYMENT_VERSION_MARKER,
4
4
  F as FONT_FALLBACK_DEVANAGARI,
@@ -3,7 +3,7 @@ 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-OWSb_i03.cjs");
6
+ const index = require("./index-Dct1bg7t.cjs");
7
7
  const pdfFonts = require("./pdfFonts-BTEVnYX8.cjs");
8
8
  function _interopNamespaceDefault(e) {
9
9
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -1266,9 +1266,19 @@ async function bakeTextAnchorPositionsFromLiveSvg(svg) {
1266
1266
  return NaN;
1267
1267
  };
1268
1268
  const bakeNode = (srcNode, liveNode, anchorOverride, refXOverride) => {
1269
- if (srcNode.getAttribute("data-pd-line-anchor") === "1") return;
1270
1269
  const anchor = (anchorOverride || _resolveAnchor(srcNode)).trim().toLowerCase();
1271
1270
  if (anchor !== "middle" && anchor !== "end") return;
1271
+ const stampedWidth = parseFloat(srcNode.getAttribute("data-pd-line-width") || "");
1272
+ const stampedStart = parseFloat(srcNode.getAttribute("data-pd-line-start") || "");
1273
+ if (Number.isFinite(stampedWidth) && stampedWidth > 0 && Number.isFinite(stampedStart)) {
1274
+ srcNode.setAttribute("x", String(stampedStart));
1275
+ srcNode.setAttribute("text-anchor", "start");
1276
+ srcNode.setAttribute("textLength", String(stampedWidth));
1277
+ srcNode.setAttribute("lengthAdjust", "spacing");
1278
+ stripTextAnchorStyle(srcNode);
1279
+ baked++;
1280
+ return;
1281
+ }
1272
1282
  try {
1273
1283
  const content = srcNode.textContent || "";
1274
1284
  if (content.length > 0) {
@@ -1905,6 +1915,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
1905
1915
  }
1906
1916
  }
1907
1917
  async function drawPreparedLiveCanvasSvgPageToPdf(options) {
1918
+ var _a;
1908
1919
  const { rawSvg, pdf, pageWidth, pageHeight, pageKey, stripPageBackground } = options;
1909
1920
  const svgToDraw = await prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey, {
1910
1921
  stripPageBackground
@@ -1916,6 +1927,36 @@ async function drawPreparedLiveCanvasSvgPageToPdf(options) {
1916
1927
  pdf.saveGraphicsState();
1917
1928
  setPdfColorFromSvg(pdf, svgToDraw);
1918
1929
  const pdfToUse = pdfWithColorLogging(pdf);
1930
+ try {
1931
+ const texts = Array.from(svgToDraw.querySelectorAll("text"));
1932
+ for (let i = 0; i < texts.length; i++) {
1933
+ const t = texts[i];
1934
+ const content = (t.textContent || "").replace(/\s+/g, " ").trim().slice(0, 60);
1935
+ const tspans = Array.from(t.querySelectorAll("tspan")).map((s) => ({
1936
+ x: s.getAttribute("x"),
1937
+ y: s.getAttribute("y"),
1938
+ text: (s.textContent || "").slice(0, 40)
1939
+ }));
1940
+ const parentG = ((_a = t.parentElement) == null ? void 0 : _a.tagName) === "g" ? t.parentElement : null;
1941
+ console.log("[svg-parity-dump]", JSON.stringify({
1942
+ page: pageKey,
1943
+ idx: i,
1944
+ snippet: content,
1945
+ textAttrs: {
1946
+ x: t.getAttribute("x"),
1947
+ y: t.getAttribute("y"),
1948
+ anchor: t.getAttribute("text-anchor"),
1949
+ fontFamily: t.getAttribute("font-family"),
1950
+ fontSize: t.getAttribute("font-size"),
1951
+ fontWeight: t.getAttribute("font-weight")
1952
+ },
1953
+ parentTransform: (parentG == null ? void 0 : parentG.getAttribute("transform")) || null,
1954
+ tspans
1955
+ }));
1956
+ }
1957
+ } catch (e) {
1958
+ console.warn("[svg-parity-dump] failed:", e);
1959
+ }
1919
1960
  await svg2pdfWithDomMount(svgToDraw, pdfToUse, svg2pdfOpts(0, 0, pageWidth, pageHeight));
1920
1961
  pdf.restoreGraphicsState();
1921
1962
  pdf.setFillColor(0, 0, 0);
@@ -2478,7 +2519,7 @@ async function fetchSvgAsElement(imageUrl, colorMap) {
2478
2519
  async function getRecoloredSvgDataUrl(imageUrl, colorMap) {
2479
2520
  if (!colorMap || Object.keys(colorMap).length === 0) return null;
2480
2521
  try {
2481
- const { getNormalizedSvgUrl } = await Promise.resolve().then(() => require("./index-OWSb_i03.cjs")).then((n) => n.canvasImageLoader);
2522
+ const { getNormalizedSvgUrl } = await Promise.resolve().then(() => require("./index-Dct1bg7t.cjs")).then((n) => n.canvasImageLoader);
2482
2523
  return await getNormalizedSvgUrl(imageUrl, colorMap);
2483
2524
  } catch {
2484
2525
  return null;
@@ -3259,7 +3300,7 @@ async function fetchImageAsBase64(imageUrl, opts = {}) {
3259
3300
  }
3260
3301
  let fetchUrl = imageUrl;
3261
3302
  if (imageUrl.startsWith("http://") || imageUrl.startsWith("https://")) {
3262
- const { isPrivateUrl } = await Promise.resolve().then(() => require("./index-OWSb_i03.cjs")).then((n) => n.canvasImageLoader);
3303
+ const { isPrivateUrl } = await Promise.resolve().then(() => require("./index-Dct1bg7t.cjs")).then((n) => n.canvasImageLoader);
3263
3304
  if (isPrivateUrl(imageUrl)) return null;
3264
3305
  const proxyUrl = new URL(`${index.API_URL}/image-proxy`);
3265
3306
  proxyUrl.searchParams.set("url", imageUrl);
@@ -5241,4 +5282,4 @@ exports.exportMultiPagePdf = exportMultiPagePdf;
5241
5282
  exports.logTextMeasurementDiagnostic = logTextMeasurementDiagnostic;
5242
5283
  exports.preparePagesForExport = preparePagesForExport;
5243
5284
  exports.rewriteSvgFontsForJsPDFWithSourceMeta = rewriteSvgFontsForJsPDFWithSourceMeta;
5244
- //# sourceMappingURL=vectorPdfExport-CqdQi3YK.cjs.map
5285
+ //# sourceMappingURL=vectorPdfExport-Cxegm-1t.cjs.map