Integrate Office Open XML with Qt in a truly cross-platform manner

Truth 1 Reputation point
2021-02-12T22:27:30.997+00:00

I'm currently involved in a project with a set of requirements that specify the need to render (read-only display) MS Office documents across all modern OS's (Windows, Android, iOS, macOS, Linux). There are many apps out there that cover some of these platforms and few that claim full coverage. However, part of the requirements are that fonts be very closely adhered to and that hyperlinks are supported in Word, Excel and PowerPoint documents along with embedded images and video. Also, with PowerPoint, we need to support transitions and have some control. Specifically we must be notified or have some way to know when the Presentation has finished, in the case of kiosk mode and or on the last slide. We also need to count words on a page and some otherwise have some minor control over the display. Therefore, we cannot simply use an external app but rather need to integrated the display of these documents into our application. We need a library or SDK.

We are currently slated to use Qt to develop the UI. Therefore, we need something that can integrate with C++.

Currently, MS provides Open-XML-SDK.

  1. Is it possible to use the Open-XML-SDK with a Qt application?
  2. If so, how truly cross-platform would it be i.e. what platforms would be supported?
  3. If it is not possible to use Open-XML-SDK at all with Qt, is there an alternative?
  4. Is this at all possible or are we dreaming i.e. is there any existing SDK solution (or combination of one or more) available today that could satisfy our requirements?
Office Development
Office Development
Office: A suite of Microsoft productivity software that supports common business tasks, including word processing, email, presentations, and data management and analysis.Development: The process of researching, productizing, and refining new or existing technologies.
3,532 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Hung-Chun Yu 976 Reputation points Microsoft Employee
    2021-02-13T19:44:15.277+00:00

    Hi Truth

    Thank you contacting Microsoft Open Specification Support. Your question does not specific related to Open Specification Protocols Documentation.

    Check out following Github reference, there are existing library https://github.com/dbzhang800/QtOfficeOpenXml might be what you are looking for and provide ideas needed.

    Let me know that answered your question.

    Hung-Chun Yu
    Microsoft Open Specifications