Some test text!

Search
Hamburger Icon

Web / Guides / Office to PDF

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.

<html>
  <body>
    <script src="../core/webviewer-core.min.js"></script>
    <script>
    (async function() {
      Core.setWorkerPath('../core');
      const licenseKey = 'Insert commercial license key here after purchase';
      await PDFNet.initialize();

      // perform the conversion with no optional parameters
      const buf = await Core.officeToPDFBuffer('/path/to/file.docx', { l: licenseKey });

      //optionally save the blob to a file or upload to a server
      const blob = new Blob([buf], { type: 'application/pdf' });
    })()
    </script>
  </body>
</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

Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales