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 = '[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.

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