Convert MS Office (Word, Excel, PowerPoint) to PDF using JavaScript

Convert an MS Office file to a PDF document without any external third-party dependencies in a browser. WebViewer already allows you to view Office documents. The below sample shows how to convert the Office document to a PDF, without initializing WebViewer UI. (You can also check out our MS Office to PDF demo now.)

Setup

  1. Install WebViewer by running npm i @pdftron/webviewer or download it here.
  2. Copy core folder from node_modules/@pdftron/webviewer/public/core (if you downloaded the SDK, you will find core folder in WebViewer/lib/) to a location that can serve static assets. For example, public folder in a React app.
  3. Reference webviewer-core.min.js script in index.html and create a JS function to perform the conversion.
1<html>
2 <body>
3 <script src="../core/webviewer-core.min.js"></script>
4 <script>
5 (async function() {
6 Core.setWorkerPath('../core');
7 const licenseKey = 'Insert commercial license key here after purchase';
8 await PDFNet.initialize();
9
10 // perform the conversion with no optional parameters
11 const buf = await Core.officeToPDFBuffer('/path/to/file.docx', { l: licenseKey });
12
13 //optionally save the blob to a file or upload to a server
14 const blob = new Blob([buf], { type: 'application/pdf' });
15 })()
16 </script>
17 </body>
18</html>

Additional font resources

WebViewer will automatically use substitute fonts hosted on a web server when a font is not embedded in the source document. The fallback fonts are hosted with Apryse by default but if this is a concern, you can host the fonts on your own servers. See this FAQ for more details.

DOCX to PDF
How to Generate DOCX and Save As a PDF (in Javascript) - 1/10/2022
How to Convert DOCX Files to PDF with Node.js - 4/24/2020

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales