Context
Hello everyone!
I’m working on a commercial platform that lets entrepreneurs issue and receive support measures needed to grow their business.
Support measures may include any number of arbitrary business processes (stages)
“Sorry, new users can only put one embedded media item in a post.”
For any stage in a support measure, a custom form can be created using the form designer (which contains roughly 40 elements). The user can specify both the order of the stages and whether they are completed sequentially or in parallel.
Main part of the question
The support measures include functionality for adding export templates for the data entered by an applicant. An export template is a DOCX or XLSX document that may contain form-field identifiers (slugs).
Slugs are enclosed in curly braces, following
Jinja
template syntax.
During export, each slug is replaced with the corresponding data entered by the applicant. The result is a DOCX or XLSX document populated with the user’s application data.
However, users have requested the ability to export application data directly to a PDF file using a DOCX or XLSX template. At present, exporting to PDF via a DOCX or XLSX template works as follows:
- The applicant’s entered data are merged into the template (as before), producing a DOCX or XLSX document containing the user’s application data.
- That output document is converted to PDF by the PDF Generator microservice, which runs in an isolated environment (Docker container). Specifically:
- The system sends an HTTP request to the PDF Generator, including the generated DOCX/XLSX file in the request payload.
- The PDF Generator converts the file to PDF using one of its OpenOffice worker processes.
- The PDF Generator returns the resulting PDF in the HTTP response.
- The PDF file is then downloaded by the user to their computer.
Unfortunately, the output quality of these PDFs is suboptimal.
Would it be possible to refactor our PDF Generator microservice to leverage a compiled OnlyOffice Document Builder library (v8.2.2) without exposing the commercial platform’s proprietary source code? We plan to publish the entire PDF Generator codebase—including its current implementation—on GitHub for full transparency. The microservice will use two kinds of workers:
LibreOffice
to convert ODF DocumentsOnlyOffice
to convert OOXML (Microsoft Office) Documents.
Thank you in advance for your guidance!
P.S.
Also I want to emphasise that the system has rich functionality. For example this platform can be used for:
- Project management:
- Tasks management (like in youtrack)
https://drive.google.com/file/d/1Fcu2pDycH1Ruc9kp9a7DiqnAQnCmkq6f/view?usp=sharing
https:// drive .google.com/file/d/1e1N8pcml9FnLMMuTgys6jVUcX0pKoj-o/view?usp=sharing
https:// drive .google.com/file/d/1NkmisuJuAtzMXijKIGARn2igL4zCCj3K/view?usp=sharing - Project roadmap creation with versioning and new roadmap versions approval:
https:// drive .google.com/file/d/12HxMA7vL_u3Pp4o_GaalwhWR1oFY6uru/view?usp=sharing
https:// drive .google.com/file/d/1u-Hlu3rd4311ROWHEqxQzRC-u11_OIdt/view?usp=sharing
- Tasks management (like in youtrack)
- Events management.
https:// drive .google.com/file/d/1uHQp70lI8nUHW_B0IOmrXgaIDa6QOXKL/view?usp=sharing - And many more…
P.P.S
“Sorry, new users can only put 2 links in a post”