In my project we are using Java Aspose.Word(ver. 188.8.131.52) to generate pdf documents. We are using the doc.saveToPdf function.
While investigating performance issues I noticed the fonts where being read far to many times. Generating 12 documents a total of 5.6 MB where read from a single font file sized 303 kb. Having 4 fonts, that where 20 MB of disk activity, which could be kept in a 1MB cache. This might not sound like much, but our production enviroment are extremely sensitive to disk activity, because there are a lot of concurrent processes requesting disc IO.
Please have a look at the process log i've attached. It was created with Process Monitor from SysInternals. It shows how the fonts are read and written in to the pdf-file. This repeats for each of the 12 documents.
I expected to find a caching flag and searched the documentation, and was happy to find pdf.IsTruetypeFontMapCached = true;
Unfortunatly this only seems to apply to Aspose.Pdf, even though the caching issue clearly are present in Aspose.Word. Please look into fixing this.
I hope this will be fixed soon, because it really is a much bigger issue in production enviroments with concurrent access, than in sandboxes or single threaded apps.