reamkit 1.7.0 → 1.9.0
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 +13 -1
- package/dist/esm/core/converter/ream.d.ts +1 -0
- package/dist/esm/core/converter/ream.js +1 -1
- package/dist/esm/core/document-model/types.d.ts +3 -1
- package/dist/esm/core/drawingml/shape-render.d.ts +3 -1
- package/dist/esm/core/drawingml/shape-render.js +27 -1
- package/dist/esm/core/vector.d.ts +10 -0
- package/dist/esm/html/html-writer.js +4 -2
- package/dist/esm/layout/styled-layout.js +5 -2
- package/dist/esm/pdf/shading.d.ts +12 -0
- package/dist/esm/pdf/shading.js +152 -0
- package/dist/esm/pdf/styled-page-emitter.js +29 -4
- package/dist/esm/pdf/vector-graphics.d.ts +1 -1
- package/dist/esm/pdf/vector-graphics.js +5 -3
- package/dist/esm/pdf-reader/ccitt.d.ts +15 -0
- package/dist/esm/pdf-reader/ccitt.js +394 -0
- package/dist/esm/pdf-reader/content.d.ts +6 -2
- package/dist/esm/pdf-reader/content.js +54 -13
- package/dist/esm/pdf-reader/decrypt.d.ts +1 -1
- package/dist/esm/pdf-reader/decrypt.js +20 -8
- package/dist/esm/pdf-reader/document.d.ts +1 -1
- package/dist/esm/pdf-reader/document.js +4 -4
- package/dist/esm/pdf-reader/flow-build.js +17 -6
- package/dist/esm/pdf-reader/image-decode.js +115 -7
- package/dist/esm/pdf-reader/layout.js +45 -7
- package/dist/esm/pdf-reader/reader.d.ts +1 -1
- package/dist/esm/pdf-reader/reader.js +5 -5
- package/dist/esm/pdf-reader/shading.d.ts +3 -0
- package/dist/esm/pdf-reader/shading.js +147 -0
- package/dist/esm/pdf-reader/text.js +47 -13
- package/dist/esm/pdf-reader/vector.d.ts +5 -1
- package/dist/esm/pdf-reader/vector.js +15 -6
- package/dist/esm/svg/svg-writer.js +12 -5
- package/dist/esm/word/docx-writer.js +8 -1
- package/dist/esm/word/drawing-parser.js +28 -17
- package/package.json +1 -1
|
@@ -353,10 +353,10 @@ function parseFill(spPr, resolveColor) {
|
|
|
353
353
|
} : { kind: "none" };
|
|
354
354
|
}
|
|
355
355
|
if (poIs(child, "a:gradFill")) {
|
|
356
|
-
const
|
|
357
|
-
return
|
|
358
|
-
kind: "
|
|
359
|
-
|
|
356
|
+
const gradient = parseGradient(child, resolveColor);
|
|
357
|
+
return gradient ? {
|
|
358
|
+
kind: "gradient",
|
|
359
|
+
gradient
|
|
360
360
|
} : { kind: "none" };
|
|
361
361
|
}
|
|
362
362
|
}
|
|
@@ -404,13 +404,10 @@ function colorFromContainer(parent, resolveColor) {
|
|
|
404
404
|
if (hex) return hex;
|
|
405
405
|
}
|
|
406
406
|
}
|
|
407
|
-
function
|
|
407
|
+
function parseGradient(grad, resolveColor) {
|
|
408
408
|
const gsLst = poChildren(grad).find((c) => poIs(c, "a:gsLst"));
|
|
409
409
|
if (!gsLst) return void 0;
|
|
410
|
-
|
|
411
|
-
let g = 0;
|
|
412
|
-
let b = 0;
|
|
413
|
-
let n = 0;
|
|
410
|
+
const stops = [];
|
|
414
411
|
for (const gs of poChildren(gsLst)) {
|
|
415
412
|
if (!poIs(gs, "a:gs")) continue;
|
|
416
413
|
let hex;
|
|
@@ -419,15 +416,29 @@ function colorFromGradient(grad, resolveColor) {
|
|
|
419
416
|
if (hex) break;
|
|
420
417
|
}
|
|
421
418
|
if (!hex) continue;
|
|
422
|
-
const
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
419
|
+
const pos = poIntAttr(gs, "pos");
|
|
420
|
+
const offset = pos !== void 0 ? clampUnit(pos / 1e5) : stops.length === 0 ? 0 : 1;
|
|
421
|
+
stops.push({
|
|
422
|
+
offset,
|
|
423
|
+
colorHex: hex
|
|
424
|
+
});
|
|
427
425
|
}
|
|
428
|
-
if (
|
|
429
|
-
|
|
430
|
-
|
|
426
|
+
if (stops.length === 0) return void 0;
|
|
427
|
+
stops.sort((a, b) => a.offset - b.offset);
|
|
428
|
+
if (poChildren(grad).some((c) => poIs(c, "a:path"))) return {
|
|
429
|
+
kind: "radial",
|
|
430
|
+
stops
|
|
431
|
+
};
|
|
432
|
+
const lin = poChildren(grad).find((c) => poIs(c, "a:lin"));
|
|
433
|
+
const ang = lin ? poIntAttr(lin, "ang") : void 0;
|
|
434
|
+
return {
|
|
435
|
+
kind: "linear",
|
|
436
|
+
angle: ang !== void 0 ? ang / 6e4 % 360 : 0,
|
|
437
|
+
stops
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
function clampUnit(x) {
|
|
441
|
+
return x < 0 ? 0 : x > 1 ? 1 : x;
|
|
431
442
|
}
|
|
432
443
|
//#endregion
|
|
433
444
|
export { expandMcChildren, parseDrawing, parseVmlPicture };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reamkit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Ream — convert DOCX, XLSX and PDF to PDF, SVG, HTML, DOCX and XLSX, built from scratch on the ECMA-376 and ISO 32000 specifications. Parse once, convert anywhere.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Alex Krassavin <info@reamkit.dev>",
|