We’ve recently signed up to license Aspose and so far it’s working really well plugging some gaps for us in our product. But we think it could do a lot more for us.
We would like to better understand certain functions around Aspose’s support for the following:
Repeat content controls: are repeats supported? Can repeats be nested? Is it possible to repeat multiple controls that contain rich content (HTML converted), images, etc.?
Rich content controls: the HTML insertion process, does that support images? (i.e. base64 encoded) HTML Tables? Style conversion (e.g.
converted to a paragraph block and styled with MyCustomStyle in the word document).
Conditionals using content controls: is it possible to perform conditionals on content control data? For example, checking a custom XML data store to see if a count of elements is greater than 0 to insert a section, etc. In docx4j, this is achieved through the OpenDoPE extension using XPath 1.0. If this is supported in Aspose.Words, does it use XPath/XLST or something else?
In-document cross-referencing support? (e.g. using page numbers, headers, header numbering)
Would it be possible to have a direct email to discuss some options around support/development?
Aspose.Words does support repeat content control while document conversion. However, Aspose.Words does not provide API to create repeat content control. We have already logged this feature as WORDSNET-12439 in our issue tracking system. We will inform you via this forum thread once this feature is available.
Could you please share some more detail about these two queries along with input and expected output documents? We will then provide you more information on this along with code.
Please note that we only provide support via forum. Please always post your queries in Aspose.Words’ forum.
I don’t think we would need to add one programatically. What we would need to do is identify a repeat control inside a Word template and then iterate over the section(s) contained inside it. Is this approach currently supported?
For example:
Assume a report template has a heading, a table with content controls in the cells, and a paragraph of text (rich text), with a SDT repeat surrounding this. Can aspose.words be used to identify that and then insert the data into those nested content controls?
Are there any limitations on inserting rich text content controls inside of table cells?
Conditionals
We’re using another library which you’re probably familiar with (docx4j). This supports conditionals through XPath 1.0. We can use this to make decisions about what gets output in a given template (include this block if this variable is set; colour this table row red if this value is found; etc.). This is quite powerful for templating purposes. Is there a similar capability in aspose.words? Again, for use with template docs. As far as I understand Word, there is no native support for SDT conditionals. Could a CustomXMLProperty be used for this?
Cross-referencing:
Word has the ability to cross reference within documents using different references, such as the page number, the header (if cross-referencing a header style), numeric cross references, etc. This is something we’ve implemented using another library, effectively creating anchors and bookmarks in the document. It’s limited to PAGENUM and Heading at the moment, but it works. Looking at the API docs, this would appear to be possible with Field (i.e. FieldRef).
Given a summary table with the columns “ID, Title, Page Rerference” build a summary table with the following content:
Numeric ID, which cross-references to the header in the document
Header text, which cross-references to the header in the document
PAGENUM, which cross-references to the header in the document
Aspose.Words does support this feature. Field class represents a Microsoft Word document field. FieldPageRef class implements the PAGEREF field and FieldRef class implements the REF field. Please refer to the following article. Working with Fields
StructuredDocumentTag class represents a structured document tag (SDT or content control) in a document. There is no such limitation on inserting rich text content controls inside table’s cell.
It would be great if you please share your input and expected output document here for our reference. We will then provide you more information on this. If you want to bind StructuredDocumentTag to node of custom XML part, please refer to the following article. Binding Content Control to Custom XML Parts
Please use Aspose.Words support forum for all your queries.