js-wmf
Processor for Windows MetaFile (WMF) files in JS (for the browser and nodejs).
Installation
With npm:
$ npm install wmf
In the browser:
The browser exposes a variable WMF
.
Usage
The data
argument is expected to be an ArrayBuffer
, Uint8Array
or Buffer
-
WMF.image_size(data)
extracts the image offset and extents, returns an Array[width, height]
where both metrics are measured in pixels. -
WMF.draw_canvas(data, canvas)
parses the WMF and draws to aCanvas
.
Notes
- The library assumes the global
ImageData
is available. For nodejs-powered canvas implementations, a shim must be exposed as a global. Using thecanvas
npm package:
const createImageData = ;globalImageData = createImageData;
OffscreenCanvas
in Chrome and some other Canvas implementations require the dimensions in the constructor:
const size = WMF;const canvas = size0 size1;
Examples
Browser Fetch into canvas (click to show)
// assume `canvas` is a DOM elementasync const res = await ; const ab = await res; WMF;;
NodeJS (using `canvas` npm module) (click to show)
const createCanvas createImageData = ;globalImageData = createImageData; const size = WMF;const canvas = ;WMF;
License
Please consult the attached LICENSE file for details. All rights not explicitly granted by the Apache 2.0 License are reserved by the Original Author.
References
MS-WMF
: Windows Metafile Format