File Type Support
Document Engine supports importing documents in different file formats:
-
PDFs (available for all licenses)
-
Image documents (JPEG, PNG, TIFF etc. — requires a specific license component)
-
Office files (Word, Excel, PowerPoint etc. — requires a specific license component)
-
HTML files (including associated assets such as images, CSS, and web fonts — requires a specific license component)
-
Email files (EML, MSG — requires a specific license component)
-
CAD files (DWG, DXF — requires a specific license component)
The following table shows the allowed file extensions, their MIME types, and the expected Document Engine license.
File Extension | MIME Type | Required License |
---|---|---|
application/pdf | any | |
HTML | text/html | HTML Conversion |
DOC | application/msword | Office Files |
DOCX | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Office Files |
XLS | application/vnd.ms-excel | Office Files |
XLSX | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Office Files |
PPT, PPS | application/vnd.ms-powerpoint | Office Files |
PPTX | application/vnd.openxmlformats-officedocument.presentationml.presentation | Office Files |
PPSX | application/vnd.openxmlformats-officedocument.presentationml.slideshow | Office Files |
RTF | application/rtf | Office Files |
ODT | application/vnd.oasis.opendocument.text | Office Files |
BMP | image/bmp | Image Conversion |
JPG/JPEG | image/jpeg | Image Conversion |
PNG | image/png | Image Conversion |
TIFF | image/tiff | Image Conversion |
HEIC | image/heic | Image Conversion |
GIF | image/gif | Image Conversion |
WEBP | image/webp | Image Conversion |
SVG | image/svg+xml | Image Conversion |
TGA | image/x-tga | Image Conversion |
EPS | image/postscript | Image Conversion |
EML | message/rfc822 | Email Conversion |
MSG | application/vnd.ms-outlook | Email Conversion |
DWG | image/vnd.dwg | CAD Conversion |
DXF | image/vnd.dxf | CAD Conversion |
You can create a document in any of the supported file formats and then use the functionality of both the Web API and the Server API.
For example, you can create a document starting with an Office file, add some form fields to it, and then digitally sign it.
To guarantee compatibility with all features included in PSPDFKit for Web and Document Engine, it’s only possible to export a document in PDF format. However, you can download the originally uploaded file via the PDF download API endpoint using the source=true
query string parameter.
For instructions on how to upload documents in one of the supported formats, refer to the API Reference.
Conversion on Mobile Clients
If you’re also using PSPDFKit for Android or PSPDFKit for iOS, you can use your running Document Engine instance to convert Office documents for use in your mobile application. This works by allowing the mobile application to upload Office files to your server and then downloading the converted PDF file. To use this, your mobile application needs to provide a JSON Web Token (JWT) as described here. For more information, check out our Android guide and iOS guide.
When using this, also keep in mind the performance considerations outlined below, as every request will result in a conversion process being started since there is no caching involved.
Performance Considerations
To operate on an Office file, Document Engine needs to convert the file to a PDF during the document import process. For documents created by uploading a file and documents with a remote URL, conversion happens completely transparently.
No matter the document source, Document Engine will store the PDF counterpart of the original file in its configured asset storage. This is particularly relevant if you plan to use documents with remote URLs that point to Microsoft Office files.
Depending on the size and complexity of the file, the conversion from Office to PDF can use a significant amount of CPU and memory. We recommend testing your setup with a wide range of documents and using the monitoring facilities offered by your deployment solution to make sure the load is compatible with your current infrastructure.