Convert MS Office Files to PDF Files in Linux

Information

PSPDFKit Processor has been deprecated and replaced by Document Engine. To start using Document Engine, refer to the migration guide. With Document Engine, you’ll have access to robust new capabilities (read the blog for more information).

To convert an Office file to a PDF, send a request to the /build endpoint, including both the Office file as input and the instructions JSON.

The default output from the /build endpoint is a PDF file. You can also specify other file types. Learn more about the output options in our API Reference.

Try for Free <a class=“pE pL pJ pV” %>” href=”/guides/web/conversion/office-to-pdf/”>Launch Demo

Before you get started, make sure Processor is up and running.

You can download and use either of the following sample documents for the examples in this guide:

You’ll be sending multipart POST requests with instructions to Processor’s /build endpoint. To learn more about multipart requests, refer to our blog post on the topic, A Brief Tour of Multipart Requests.

Check out the API Reference to learn more about the /build endpoint and all the actions you can perform on PDFs with PSPDFKit Processor.

Converting an Office File from Disk

Send a multipart request to the /build endpoint and attach an Office file:

curl -X POST http://localhost:5000/api/build \
  -F document=@/path/to/example-document.docx \
  -F instructions='{
  "parts": [
    {
      "file": "document"
    }
  ]
}' \
  -o result.pdf
POST /process HTTP/1.1
Content-Type: multipart/form-data; boundary=customboundary

--customboundary
Content-Disposition: form-data; name="document"; filename="example-document.docx"
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

<DOCX data>
--customboundary
Content-Disposition: form-data; name="instructions"
Content-Type: application/json

{
  "parts": [
    {
      "file": "document"
    }
  ]
}
--customboundary--

Converting an Office File from URL

Send a multipart request to the /build endpoint, attaching a URL pointing to the Office file:

curl -X POST http://localhost:5000/api/build \
  -F instructions='{
  "parts": [
    {
      "file": {
        "url": "https://pspdfkit.com/downloads/examples/paper.docx"
      }
    }
  ]
}' \
  -o result.pdf
POST /process HTTP/1.1
Content-Type: multipart/form-data; boundary=customboundary

--customboundary
Content-Disposition: form-data; name="instructions"
Content-Type: application/json

{
  "parts": [
    {
      "file": {
        "url": "https://pspdfkit.com/downloads/examples/paper.docx"
      }
    }
  ]
}
--customboundary--