docx to PDF conversion, entirely in the browser. Reduce server loads, and even allow the client to work offline!
docx-wasm is a World first, production ready commercial grade solution for handling Microsoft Word documents in pure javascript + wasm, proudly brought to you by Native Documents. PDF output is achieved using the Word compatible page layout we developed for our web-based document editing/viewing components (more information: https://nativedocuments.com).
docx-wasm-client-side executes this client-side in-browser (including on Android).
Get an ND_DEV_ID, ND_DEV_SECRET pair at https://developers.nativedocuments.com/
Configure your environment:
> npm install
> npm start --nd-dev-id="YOUR DEV ID" --nd-dev-secret="YOUR DEV SECRET" --nd-user=test --nd-save-config
For now, if you later find you want to run npm install
again, please delete package-lock.json first.
Start the local server:
> npm run dev-server --nd-user=test
Visit http://localhost:8080 using a recent Chrome or Firefox.
This is our first release for demo purposes. iOS support is a known issue (let us know if its a priority for you).
TLDR: unless you use HTTPS, you can only access the server locally. This is a client-side restriction, for testing purposes you can configure Chrome or Firefox to allow access to an untrusted origin. For example, chrome://flags/#unsafely-treat-insecure-origin-as-secure
See further https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins
You'll need a ND_DEV_ID, ND_DEV_SECRET pair to use this module (or an ND_LICENSE_URL). We have a generous free tier, you can get your keys at https://developers.nativedocuments.com/
An ND_LICENSE_URL is necessary for offline operation (since ND_DEV_ID, ND_DEV_SECRET pair does a periodic online check). Please email us if you want to try ND_LICENSE_URL. Note: fully offline operation is currently a TODO.
If you are having trouble with the sample code, please check the error message.
-
If no documents work and you see "browser too old" in Chrome, or a security error in Firefox, are you testing against an untrusted origin? See above.
-
If you see "conversion error", this means something is wrong with this particular document; see the console for more detail.
If you continue to have problems, please ask a question on StackOverflow, using tags #docx-wasm, #node.js, #ms-word, and #pdf as appropriate.