Please give a brief summary of your issue:
Is it possible to define custom tags in document generation?
Please describe your issue and provide steps to reproduce it:
I have been working with the Apryse SDK document generation from template feature for a while now.
I have a long outstanding need to be able to generate completely dynamic tables, including both dynamic rows and dynamic columns. I have participated in several other discussions here around how to achieve dynamic columns, but I have unfortunately not found a workable solution.
Hello, I’m AiRon, an automated tech support bot While you wait for one of our customer support representatives, I can help you with your question.
It seems you are looking to enhance the document generation capabilities in Apryse SDK by adding support for HTML tables in structured input. Currently, the SDK supports inserting structured content like paragraphs using HTML or markdown, but the dynamic generation of tables with both rows and columns might require more advanced handling.
Some things you can try:
Consider using existing structured input methods to simulate table structures by managing rows and columns manually within your templates.
Explore the use of JSON or other structured data inputs that can help define the table structure programmatically.
Use a combination of template tags and dynamic content insertion to mimic table-like structures until native support is available.
This is Kaden from the Apryse Support Team – I understand that you’re looking to submit a Feature Request surrounding complete dynamic generation of tables, including both rows and columns. I do believe that I’ve worked with you on this issue previously, however, I also know that you’ve been in discussion with other members of our team surrounding this use case and potential solutions.
I’d be happy to submit a Feature Request for this feature internally, however, our Engineering team has indicated that the following details be provided regarding this dynamic table generation so that they may further consider potential solutions in the future:
Can you indicate how the current offerings from Apryse (Apryse SDK, Fluent, etc.) are unable to achieve your desired outcome? As many details as you can provide are helpful.
Can you demonstrate what you would like a solution using the Apryse SDK to look like, i.e. example template, output table, etc.?
I appreciate your time, and will let you know when a Feature Request has been submitted after receiving the above information. While it should be noted that not all Feature Requests are guaranteed to be implemented into the Apryse SDK, I am of the impression that other users have likewise requested this feature. If you need any clarification, please don’t hesitate to reach out.
Thank you,
Kaden Rettig
Technical Support Engineer
Apryse Support Team
Yes, we worked together on other tickets that I had filed.
Ultimately what I need is the ability to create and render a completely dynamic table, where the rows and columns are only known at runtime, and not at design-time within the docx file.
From my experience, the document template / generation system that our clients are familiar with is HTML-based, where the platform they use has the ability to dynamically construct a completely dynamic HTML table. Then the HTML is converted into either DOCX or PDF for their final output.
Our clients have expressed how much they like using DOCX files as their templates, and now with the ability to edit DOCX files in the Apryse WebViewer, clients are able to do all of their template design work within our platform and don’t need to work separately in Office or O365.
Most of the document templates do have fixed table structures. However, one of the most important documents that we need to generate is called a “Credit Memo”, where it includes financial analysis tables. In these tables, the table structure is completely unknown at design time within the .docx table
If HTML tables were supported, this would solve my problem. From the Document Generation Structured Input documentation page and examples, where you have this as an example: