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

Requirements
View Demo

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 = 'YOUR_LICENSE_KEY';
8 await Core.PDFNet.initialize(licenseKey);
9
10 // perform the conversion with no optional parameters
11 const buf = await Core.officeToPDFBuffer('/path/to/file.docx');
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 // As an example. you can save the file with the following code
17 // Create a temporary anchor element
18 const blobUrl = URL.createObjectURL(blob);
19 const link = document.createElement("a");
20 link.href = blobUrl;
21 link.download = "my_file.pdf";
22
23 // Trigger the download
24 link.click();
25
26 // Clean up
27 document.body.removeChild(link);
28 URL.revokeObjectURL(blobUrl);
29
30 })()
31 </script>
32 </body>
33</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.

Related blogs

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
Docx, ppt, excel to PDF Conversion Library with Apryse's Web SDK | Apryse documentation