abstract-document 16.0.20 → 16.0.21

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.
@@ -247,7 +247,7 @@ function measureAtom(pdfKit, resources, textStyle, availableSize, availableRowSp
247
247
  case "TextField":
248
248
  return measureTextField(pdfKit, resources, textStyle, atom, availableSize);
249
249
  case "Image":
250
- return measureImage(availableSize, atom);
250
+ return measureImage(resources, availableSize, atom);
251
251
  case "HyperLink":
252
252
  return measureHyperLink(pdfKit, resources, textStyle, atom, availableSize);
253
253
  case "TocSeparator":
@@ -298,10 +298,37 @@ function measureTocSeparator(pdf, textStyle, availableSize, availableRowSpace) {
298
298
  width: availableRowSpace - 1,
299
299
  };
300
300
  }
301
- function measureImage(availableSize, image) {
302
- const desiredWidth = isFinite(image.width) ? image.width : availableSize.width;
303
- const desiredHeight = isFinite(image.height) ? image.height : availableSize.height;
304
- return AD.Size.create(desiredWidth, desiredHeight);
301
+ function measureImage(resources, availableSize, image) {
302
+ const ai = image.imageResource.abstractImage;
303
+ const firstComp = ai.components[0];
304
+ const resource = !ai.size.width && !ai.size.height && firstComp?.type === "binaryimage" && firstComp.data.type === "url"
305
+ ? resources.imageResources?.[firstComp.data.url] ?? image.imageResource
306
+ : image.imageResource;
307
+ let desiredWidth = availableSize.width;
308
+ if (!isFinite(image.width)) {
309
+ desiredWidth = availableSize.width;
310
+ }
311
+ else if (image.width) {
312
+ desiredWidth = image.width;
313
+ }
314
+ else if (resource?.abstractImage.size.width) {
315
+ desiredWidth = resource.abstractImage.size.width * (image.height / resource.abstractImage.size.height);
316
+ }
317
+ let desiredHeight = availableSize.height;
318
+ if (!isFinite(image.height)) {
319
+ desiredHeight = availableSize.height;
320
+ }
321
+ else if (image.height) {
322
+ desiredHeight = image.height;
323
+ }
324
+ else if (resource?.abstractImage.size.height) {
325
+ desiredHeight = resource.abstractImage.size.height * (image.width / resource.abstractImage.size.width);
326
+ }
327
+ if (!resource.scaleMaxHeight || !resource.scaleMaxWidth || (image.height && image.width)) {
328
+ return AD.Size.create(desiredWidth, desiredHeight);
329
+ }
330
+ const factor = Math.min(desiredWidth / resource.scaleMaxWidth, desiredHeight / resource.scaleMaxHeight);
331
+ return AD.Size.create(ai.size.width * factor, ai.size.height * factor);
305
332
  }
306
333
  function measureText(pdf, text, textStyle, availableSize) {
307
334
  const font = (0, font_js_1.getFontNameStyle)(textStyle);
@@ -1 +1 @@
1
- {"version":3,"file":"measure.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/measure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measure.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/measure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-image.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render-image.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAIvD,wBAAgB,WAAW,CACzB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EACjC,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EACvB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EACjC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GACpB,IAAI,CAaN"}
1
+ {"version":3,"file":"render-image.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render-image.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAIvD,wBAAgB,WAAW,CACzB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EACjC,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EACvB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EACjC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GACpB,IAAI,CAoBN"}
@@ -43,22 +43,26 @@ const font_js_1 = require("./font.js");
43
43
  const base_64_js_1 = require("../shared/base-64.js");
44
44
  function renderImage(resources, pdf, finalRect, textStyle, image) {
45
45
  const ai = image.imageResource.abstractImage;
46
+ // If ai is an empty shell containing a refernece to another resource, instantly jump one step in depth to the referenced image.
47
+ const firstComp = ai.components[0];
48
+ const resource = !ai.size.width && !ai.size.height && firstComp?.type === "binaryimage" && firstComp.data.type === "url"
49
+ ? resources.imageResources?.[firstComp.data.url] ?? image.imageResource
50
+ : image.imageResource;
46
51
  const position = AD.Point.create(finalRect.x, finalRect.y);
47
- const hasIntrinsicSize = ai.size.width && ai.size.height;
48
- const rect = resourceRect(image.imageResource, finalRect);
49
- const outerScale = hasIntrinsicSize ? Math.min(rect.width / ai.size.width, rect.height / ai.size.height) : 1;
52
+ const rect = resourceRect(resource, finalRect);
53
+ const factor = Math.min(rect.width / resource.abstractImage.size.width, rect.height / resource.abstractImage.size.height);
50
54
  pdf.save();
51
- pdf.translate(position.x, position.y).scale(outerScale);
52
- ai.components.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, 0, hasIntrinsicSize ? undefined : rect));
55
+ pdf.translate(position.x, position.y).scale(factor);
56
+ resource.abstractImage.components.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, 0));
53
57
  pdf.restore();
54
58
  }
55
- function abstractComponentToPdf(resources, pdf, component, textStyle, circuitBreaker, outerSize) {
59
+ function abstractComponentToPdf(resources, pdf, component, textStyle, circuitBreaker) {
56
60
  if (++circuitBreaker > 20) {
57
61
  return;
58
62
  }
59
63
  switch (component.type) {
60
64
  case "group":
61
- component.children.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker, outerSize));
65
+ component.children.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker));
62
66
  break;
63
67
  case "binaryimage":
64
68
  const format = component.format.toLowerCase();
@@ -67,14 +71,10 @@ function abstractComponentToPdf(resources, pdf, component, textStyle, circuitBre
67
71
  if (component.data.type === "url") {
68
72
  const imageResource = resources.imageResources?.[component.data.url];
69
73
  if (imageResource) {
70
- const rect = resourceRect(imageResource, {
71
- width: (outerSize?.width || 1) * (w || 1),
72
- height: (outerSize?.height || 1) * (h || 1),
73
- });
74
- const scale = Math.min(rect.width / (imageResource.abstractImage.size.width || 1), rect.height / (imageResource.abstractImage.size.height || 1));
74
+ const scale = Math.min(w / (imageResource.abstractImage.size.width || 1), h / (imageResource.abstractImage.size.height || 1));
75
75
  pdf.save();
76
76
  pdf.translate(component.topLeft.x, component.topLeft.y).scale(scale);
77
- imageResource.abstractImage.components.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker, undefined));
77
+ imageResource.abstractImage.components.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker));
78
78
  pdf.restore();
79
79
  }
80
80
  else if (component.data.url.startsWith(base_64_js_1.rawSvgPrefix)) {
@@ -244,16 +244,14 @@ function addWithSvgToPdfKit(svg, component, pdf, resources, textStyle) {
244
244
  },
245
245
  });
246
246
  }
247
- function resourceRect(imageResource, rect) {
248
- const ai = imageResource.abstractImage;
249
- if (!imageResource.scaleMaxHeight || !imageResource.scaleMaxWidth) {
250
- return rect;
247
+ function resourceRect(resource, rect) {
248
+ const ai = resource.abstractImage;
249
+ const rectWidth = rect.width || ai.size.width * (rect.height / ai.size.height);
250
+ const rectHeight = rect.height || ai.size.height * (rect.width / ai.size.width);
251
+ if (!resource.scaleMaxHeight || !resource.scaleMaxWidth) {
252
+ return { width: rectWidth, height: rectHeight };
251
253
  }
252
- const [factorX, factorY] = [
253
- rect.width / (imageResource.scaleMaxWidth || 1),
254
- rect.height / (imageResource.scaleMaxHeight || 1),
255
- ];
256
- const factor = factorX < factorY ? factorX : factorY;
254
+ const factor = Math.min(rectWidth / resource.scaleMaxWidth, rectHeight / resource.scaleMaxHeight);
257
255
  return { width: ai.size.width * factor, height: ai.size.height * factor };
258
256
  }
259
257
  function colorToOpacity(color) {
@@ -1 +1 @@
1
- {"version":3,"file":"render-image.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-image.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render-image.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-document",
3
- "version": "16.0.20",
3
+ "version": "16.0.21",
4
4
  "description": "Dynamically create documents using code or JSX and render to any format",
5
5
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-document",
6
6
  "main": "lib/index.js",
@@ -48,5 +48,5 @@
48
48
  "vite": "^6.0.1",
49
49
  "vitest": "^2.1.6"
50
50
  },
51
- "gitHead": "d575d43b8900bcd635c3f4c9eff717b29bf077e1"
51
+ "gitHead": "8712185400a8ab833383da739e575e17f0d9f35e"
52
52
  }
@@ -320,7 +320,7 @@ function measureAtom(
320
320
  case "TextField":
321
321
  return measureTextField(pdfKit, resources, textStyle, atom, availableSize);
322
322
  case "Image":
323
- return measureImage(availableSize, atom);
323
+ return measureImage(resources, availableSize, atom);
324
324
  case "HyperLink":
325
325
  return measureHyperLink(pdfKit, resources, textStyle, atom, availableSize);
326
326
  case "TocSeparator":
@@ -424,10 +424,41 @@ function measureTocSeparator(
424
424
  };
425
425
  }
426
426
 
427
- function measureImage(availableSize: AD.Size.Size, image: AD.Image.Image): AD.Size.Size {
428
- const desiredWidth = isFinite(image.width) ? image.width : availableSize.width;
429
- const desiredHeight = isFinite(image.height) ? image.height : availableSize.height;
430
- return AD.Size.create(desiredWidth, desiredHeight);
427
+ function measureImage(
428
+ resources: AD.Resources.Resources,
429
+ availableSize: AD.Size.Size,
430
+ image: AD.Image.Image
431
+ ): AD.Size.Size {
432
+ const ai = image.imageResource.abstractImage;
433
+ const firstComp = ai.components[0];
434
+ const resource =
435
+ !ai.size.width && !ai.size.height && firstComp?.type === "binaryimage" && firstComp.data.type === "url"
436
+ ? resources.imageResources?.[firstComp.data.url] ?? image.imageResource
437
+ : image.imageResource;
438
+
439
+ let desiredWidth = availableSize.width;
440
+ if (!isFinite(image.width)) {
441
+ desiredWidth = availableSize.width;
442
+ } else if (image.width) {
443
+ desiredWidth = image.width;
444
+ } else if (resource?.abstractImage.size.width) {
445
+ desiredWidth = resource.abstractImage.size.width * (image.height / resource.abstractImage.size.height);
446
+ }
447
+
448
+ let desiredHeight = availableSize.height;
449
+ if (!isFinite(image.height)) {
450
+ desiredHeight = availableSize.height;
451
+ } else if (image.height) {
452
+ desiredHeight = image.height;
453
+ } else if (resource?.abstractImage.size.height) {
454
+ desiredHeight = resource.abstractImage.size.height * (image.width / resource.abstractImage.size.width);
455
+ }
456
+
457
+ if (!resource.scaleMaxHeight || !resource.scaleMaxWidth || (image.height && image.width)) {
458
+ return AD.Size.create(desiredWidth, desiredHeight);
459
+ }
460
+ const factor = Math.min(desiredWidth / resource.scaleMaxWidth, desiredHeight / resource.scaleMaxHeight);
461
+ return AD.Size.create(ai.size.width * factor, ai.size.height * factor);
431
462
  }
432
463
 
433
464
  function measureText(
@@ -12,16 +12,23 @@ export function renderImage(
12
12
  image: AD.Image.Image
13
13
  ): void {
14
14
  const ai = image.imageResource.abstractImage;
15
- const position = AD.Point.create(finalRect.x, finalRect.y);
16
- const hasIntrinsicSize = ai.size.width && ai.size.height;
17
- const rect = resourceRect(image.imageResource, finalRect);
18
- const outerScale = hasIntrinsicSize ? Math.min(rect.width / ai.size.width, rect.height / ai.size.height) : 1;
19
15
 
20
- pdf.save();
21
- pdf.translate(position.x, position.y).scale(outerScale);
22
- ai.components.forEach((c) =>
23
- abstractComponentToPdf(resources, pdf, c, textStyle, 0, hasIntrinsicSize ? undefined : rect)
16
+ // If ai is an empty shell containing a refernece to another resource, instantly jump one step in depth to the referenced image.
17
+ const firstComp = ai.components[0];
18
+ const resource =
19
+ !ai.size.width && !ai.size.height && firstComp?.type === "binaryimage" && firstComp.data.type === "url"
20
+ ? resources.imageResources?.[firstComp.data.url] ?? image.imageResource
21
+ : image.imageResource;
22
+
23
+ const position = AD.Point.create(finalRect.x, finalRect.y);
24
+ const rect = resourceRect(resource, finalRect);
25
+ const factor = Math.min(
26
+ rect.width / resource.abstractImage.size.width,
27
+ rect.height / resource.abstractImage.size.height
24
28
  );
29
+ pdf.save();
30
+ pdf.translate(position.x, position.y).scale(factor);
31
+ resource.abstractImage.components.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, 0));
25
32
  pdf.restore();
26
33
  }
27
34
 
@@ -30,17 +37,14 @@ function abstractComponentToPdf(
30
37
  pdf: PDFKit.PDFDocument,
31
38
  component: AbstractImage.Component,
32
39
  textStyle: AD.TextStyle.TextStyle,
33
- circuitBreaker: number,
34
- outerSize: AbstractImage.Size | undefined
40
+ circuitBreaker: number
35
41
  ): void {
36
42
  if (++circuitBreaker > 20) {
37
43
  return;
38
44
  }
39
45
  switch (component.type) {
40
46
  case "group":
41
- component.children.forEach((c) =>
42
- abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker, outerSize)
43
- );
47
+ component.children.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker));
44
48
  break;
45
49
  case "binaryimage":
46
50
  const format = component.format.toLowerCase();
@@ -49,18 +53,14 @@ function abstractComponentToPdf(
49
53
  if (component.data.type === "url") {
50
54
  const imageResource = resources.imageResources?.[component.data.url];
51
55
  if (imageResource) {
52
- const rect = resourceRect(imageResource, {
53
- width: (outerSize?.width || 1) * (w || 1),
54
- height: (outerSize?.height || 1) * (h || 1),
55
- });
56
56
  const scale = Math.min(
57
- rect.width / (imageResource.abstractImage.size.width || 1),
58
- rect.height / (imageResource.abstractImage.size.height || 1)
57
+ w / (imageResource.abstractImage.size.width || 1),
58
+ h / (imageResource.abstractImage.size.height || 1)
59
59
  );
60
60
  pdf.save();
61
61
  pdf.translate(component.topLeft.x, component.topLeft.y).scale(scale);
62
62
  imageResource.abstractImage.components.forEach((c) =>
63
- abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker, undefined)
63
+ abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker)
64
64
  );
65
65
  pdf.restore();
66
66
  } else if (component.data.url.startsWith(rawSvgPrefix)) {
@@ -238,16 +238,14 @@ function addWithSvgToPdfKit(
238
238
  });
239
239
  }
240
240
 
241
- function resourceRect(imageResource: AD.ImageResource.ImageResource, rect: AbstractImage.Size): AbstractImage.Size {
242
- const ai = imageResource.abstractImage;
243
- if (!imageResource.scaleMaxHeight || !imageResource.scaleMaxWidth) {
244
- return rect;
241
+ function resourceRect(resource: AD.ImageResource.ImageResource, rect: AbstractImage.Size): AbstractImage.Size {
242
+ const ai = resource.abstractImage;
243
+ const rectWidth = rect.width || ai.size.width * (rect.height / ai.size.height);
244
+ const rectHeight = rect.height || ai.size.height * (rect.width / ai.size.width);
245
+ if (!resource.scaleMaxHeight || !resource.scaleMaxWidth) {
246
+ return { width: rectWidth, height: rectHeight };
245
247
  }
246
- const [factorX, factorY] = [
247
- rect.width / (imageResource.scaleMaxWidth || 1),
248
- rect.height / (imageResource.scaleMaxHeight || 1),
249
- ];
250
- const factor = factorX < factorY ? factorX : factorY;
248
+ const factor = Math.min(rectWidth / resource.scaleMaxWidth, rectHeight / resource.scaleMaxHeight);
251
249
  return { width: ai.size.width * factor, height: ai.size.height * factor };
252
250
  }
253
251