Hi everyone,
I run PrinterXR, an independent help site for people setting up and troubleshooting home and office printers. We aren't connected to any printer manufacturer, and we aren't a software company either, so please bear with me if some of these questions are basic.
We already have a small tool on the site called Template Studio. People use it in the browser to design printable things like flyers, labels, business cards and printer test pages, then print or download the result. It's canvas-based at the moment and it can't open or edit real documents.
We'd like to build a fuller version where a logged-in user can open a .docx or .odt, edit it in the browser, keep it in folders on their account, and print it. LibreOffice keeps coming up as the obvious engine for this, and I'd like to understand what we'd be getting into before we plan around it.
As far as I can tell there are two separate pieces:
- Headless LibreOffice on the server, converting uploaded documents to PDF so they print consistently.
- An in-browser editor built on LibreOffice, which I believe in practice means Collabora Online or the CODE build.
A few questions.
Customisation. How far can the online editor's interface be changed? Our users are mostly not technical, so we'd want to cut the toolbar down to a simpler set, restyle it to match our site, and add our own starter templates. Is that done through configuration, or does it mean maintaining a fork?
Licensing. My understanding is that LibreOffice is under the MPL 2.0 and can be used commercially without buying anything. Is that right when it runs server-side as part of a service people pay for? What obligations come with it, especially if we change anything? On the editor side, where does the free CODE build stop being appropriate and a paid Collabora subscription become necessary? And is there anything we need permission for if we write "powered by LibreOffice" on the page?
Hosting. The site is Node.js with Express. Is headless conversion realistic on modest hosting, or does this need its own server from the start? If anyone runs soffice alongside a Node app, I'd be glad to hear how you handle several conversions arriving at once, and how much memory it really takes.
Thanks for reading. Any pointers to documentation I should have found myself are welcome too.