@file-viewer/renderer-word 2.1.18 → 2.1.19
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/wordDoc.js +48 -2
- package/dist/wordDocx.js +66 -2
- package/package.json +3 -3
package/dist/wordDoc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defaultMsDocCss, parseMsDocToHtml } from '@file-viewer/doc';
|
|
2
|
-
import { applyPrintPageSize, buildPrintPageStyle, createFileViewerZoomChangeEmitter as createZoomChangeEmitter, formatCssPixels, registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
|
|
2
|
+
import { applyPrintPageSize, buildPrintPageStyle, createFileViewerZoomChangeEmitter as createZoomChangeEmitter, formatCssPixels, registerFileViewerZoomProvider, resolveFileViewerFitScale, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
|
|
3
3
|
const PAGE_BREAK_MARKER = '<span class="msdoc-page-break"></span>';
|
|
4
4
|
const EMPTY_PAGE_HTML = '<p class="msdoc-paragraph"><br></p>';
|
|
5
5
|
const MSDOC_PAGE_SIZE = {
|
|
@@ -239,12 +239,58 @@ function makeMsDocResponsive(target) {
|
|
|
239
239
|
applyResponsiveLayout();
|
|
240
240
|
return getZoomState();
|
|
241
241
|
};
|
|
242
|
+
const setAbsoluteScale = (scale) => {
|
|
243
|
+
return setUserZoom(scale / Math.max(currentFitScale, 0.01));
|
|
244
|
+
};
|
|
245
|
+
const readFitPageSize = () => {
|
|
246
|
+
var _a;
|
|
247
|
+
const root = (_a = pages[0]) === null || _a === void 0 ? void 0 : _a.querySelector('.msdoc-root');
|
|
248
|
+
return {
|
|
249
|
+
width: (root === null || root === void 0 ? void 0 : root.offsetWidth) || MSDOC_PAGE_SIZE.width,
|
|
250
|
+
height: MSDOC_PAGE_SIZE.height
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
const fitDoc = (request) => {
|
|
254
|
+
var _a, _b;
|
|
255
|
+
const pageSize = readFitPageSize();
|
|
256
|
+
const mode = request.mode === 'auto' ? 'width' : request.mode;
|
|
257
|
+
const scale = resolveFileViewerFitScale({
|
|
258
|
+
mode,
|
|
259
|
+
viewportWidth: Math.max(1, request.viewportWidth || target.clientWidth || 0),
|
|
260
|
+
viewportHeight: Math.max(1, request.viewportHeight || target.clientHeight || 0),
|
|
261
|
+
contentWidth: pageSize.width,
|
|
262
|
+
contentHeight: pageSize.height,
|
|
263
|
+
currentScale,
|
|
264
|
+
minScale: (_a = request.minScale) !== null && _a !== void 0 ? _a : MSDOC_MIN_SCALE,
|
|
265
|
+
maxScale: (_b = request.maxScale) !== null && _b !== void 0 ? _b : MSDOC_MAX_SCALE
|
|
266
|
+
});
|
|
267
|
+
if (!scale) {
|
|
268
|
+
return {
|
|
269
|
+
applied: false,
|
|
270
|
+
mode: request.mode,
|
|
271
|
+
resize: request.resize,
|
|
272
|
+
source: request.source,
|
|
273
|
+
reason: 'unmeasurable',
|
|
274
|
+
provider: 'zoom'
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
const state = setAbsoluteScale(scale);
|
|
278
|
+
return {
|
|
279
|
+
applied: true,
|
|
280
|
+
mode: request.mode,
|
|
281
|
+
resize: request.resize,
|
|
282
|
+
scale: state.scale,
|
|
283
|
+
source: request.source,
|
|
284
|
+
provider: 'zoom'
|
|
285
|
+
};
|
|
286
|
+
};
|
|
242
287
|
target.dataset.viewerZoomProvider = 'doc';
|
|
243
288
|
registerFileViewerZoomProvider(target, {
|
|
244
289
|
zoomIn: () => setUserZoom((currentScale + MSDOC_ZOOM_STEP) / Math.max(currentFitScale, 0.01)),
|
|
245
290
|
zoomOut: () => setUserZoom((currentScale - MSDOC_ZOOM_STEP) / Math.max(currentFitScale, 0.01)),
|
|
246
291
|
resetZoom: () => setUserZoom(1),
|
|
247
|
-
setZoom:
|
|
292
|
+
setZoom: setAbsoluteScale,
|
|
293
|
+
fit: fitDoc,
|
|
248
294
|
getState: getZoomState,
|
|
249
295
|
subscribe: zoomEmitter.subscribe
|
|
250
296
|
});
|
package/dist/wordDocx.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, } from '@file-viewer/core/assets';
|
|
2
|
-
import { applyPrintPageSize, buildPrintPageStyle, createFileViewerTranslator, createFileViewerZoomChangeEmitter as createZoomChangeEmitter, formatCssPixels, getElementPrintPageSize, registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
|
|
2
|
+
import { applyPrintPageSize, buildPrintPageStyle, createFileViewerTranslator, createFileViewerZoomChangeEmitter as createZoomChangeEmitter, formatCssPixels, getElementPrintPageSize, registerFileViewerZoomProvider, resolveFileViewerFitScale, unregisterFileViewerZoomProvider, } from '@file-viewer/core';
|
|
3
3
|
const DOCX_DEFAULT_PAGE_SIZE = {
|
|
4
4
|
width: 794,
|
|
5
5
|
height: 1123
|
|
@@ -289,12 +289,76 @@ function makeDocxResponsive(target, context) {
|
|
|
289
289
|
applyResponsiveLayout();
|
|
290
290
|
return getZoomState();
|
|
291
291
|
};
|
|
292
|
+
const setAbsoluteScale = (scale) => {
|
|
293
|
+
return setUserZoom(scale / Math.max(currentFitScale, 0.01));
|
|
294
|
+
};
|
|
295
|
+
const readFitPageSize = () => {
|
|
296
|
+
for (const frame of frames) {
|
|
297
|
+
const page = getDocxPageElement(frame);
|
|
298
|
+
if (!page) {
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
const pageSize = getElementPrintPageSize(page, DOCX_DEFAULT_PAGE_SIZE);
|
|
302
|
+
return {
|
|
303
|
+
width: page.offsetWidth || pageSize.width || DOCX_DEFAULT_PAGE_SIZE.width,
|
|
304
|
+
height: isDocxFlowFrame(frame)
|
|
305
|
+
? DOCX_DEFAULT_PAGE_SIZE.height
|
|
306
|
+
: page.offsetHeight || pageSize.height || DOCX_DEFAULT_PAGE_SIZE.height
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
return null;
|
|
310
|
+
};
|
|
311
|
+
const fitDocx = (request) => {
|
|
312
|
+
var _a, _b;
|
|
313
|
+
const pageSize = readFitPageSize();
|
|
314
|
+
if (!pageSize) {
|
|
315
|
+
return {
|
|
316
|
+
applied: false,
|
|
317
|
+
mode: request.mode,
|
|
318
|
+
resize: request.resize,
|
|
319
|
+
source: request.source,
|
|
320
|
+
reason: 'unmeasurable',
|
|
321
|
+
provider: 'zoom'
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
const mode = request.mode === 'auto' ? 'width' : request.mode;
|
|
325
|
+
const scale = resolveFileViewerFitScale({
|
|
326
|
+
mode,
|
|
327
|
+
viewportWidth: Math.max(1, request.viewportWidth || target.clientWidth || 0),
|
|
328
|
+
viewportHeight: Math.max(1, request.viewportHeight || target.clientHeight || 0),
|
|
329
|
+
contentWidth: pageSize.width,
|
|
330
|
+
contentHeight: pageSize.height,
|
|
331
|
+
currentScale,
|
|
332
|
+
minScale: (_a = request.minScale) !== null && _a !== void 0 ? _a : DOCX_MIN_SCALE,
|
|
333
|
+
maxScale: (_b = request.maxScale) !== null && _b !== void 0 ? _b : DOCX_MAX_SCALE
|
|
334
|
+
});
|
|
335
|
+
if (!scale) {
|
|
336
|
+
return {
|
|
337
|
+
applied: false,
|
|
338
|
+
mode: request.mode,
|
|
339
|
+
resize: request.resize,
|
|
340
|
+
source: request.source,
|
|
341
|
+
reason: 'unmeasurable',
|
|
342
|
+
provider: 'zoom'
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
const state = setAbsoluteScale(scale);
|
|
346
|
+
return {
|
|
347
|
+
applied: true,
|
|
348
|
+
mode: request.mode,
|
|
349
|
+
resize: request.resize,
|
|
350
|
+
scale: state.scale,
|
|
351
|
+
source: request.source,
|
|
352
|
+
provider: 'zoom'
|
|
353
|
+
};
|
|
354
|
+
};
|
|
292
355
|
target.dataset.viewerZoomProvider = 'docx';
|
|
293
356
|
registerFileViewerZoomProvider(target, {
|
|
294
357
|
zoomIn: () => setUserZoom((currentScale + DOCX_ZOOM_STEP) / Math.max(currentFitScale, 0.01)),
|
|
295
358
|
zoomOut: () => setUserZoom((currentScale - DOCX_ZOOM_STEP) / Math.max(currentFitScale, 0.01)),
|
|
296
359
|
resetZoom: () => setUserZoom(1),
|
|
297
|
-
setZoom:
|
|
360
|
+
setZoom: setAbsoluteScale,
|
|
361
|
+
fit: fitDocx,
|
|
298
362
|
getState: getZoomState,
|
|
299
363
|
subscribe: zoomEmitter.subscribe
|
|
300
364
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@file-viewer/renderer-word",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.19",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Standalone Word and compatible document renderer plugin for Flyfish File Viewer powered by @file-viewer/docx, @file-viewer/doc, and RTF/ODF parsing.",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"LICENSE"
|
|
58
58
|
],
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@file-viewer/core": "^2.1.
|
|
61
|
-
"@file-viewer/doc": "^2.1.
|
|
60
|
+
"@file-viewer/core": "^2.1.19",
|
|
61
|
+
"@file-viewer/doc": "^2.1.19",
|
|
62
62
|
"@file-viewer/docx": "^0.3.17",
|
|
63
63
|
"jszip": "^3.10.1",
|
|
64
64
|
"rtf.js": "^3.0.9"
|