So I'm using the Illustrator CC2023 SDK to work on some plugin code where a number of functions need to be able to save documents to file silently (ie. without user intervention) and I've been trying to find valid key or parameter lists for native Illustrator formats such as Adobe Illustrator Any Format Writer for use with either the additionalOptionsDict parameter of WriteDocumentWithOptions(), or with SetDocumentFileFormatParameters() for well over a week now with very little success.
The problem is that passing extended parameters such as PDF compatiblity, embedding ICC profiles and so forth in through additionalOptionsDict requires knowing the precise key strings for these options, and I cannot seem to find an accurate reference for what those strings need to be, as they are specific to the given file format, and I can find no documentation on what parameters any of the native Illustrator file formats can take actually are or how to reference them.
Likewise, trying instead to go via Get/SetDocumentFileFormatParameters() leaves me with the problem that the AIDocumentFileFormatParameters type is basically just an opaque reference to a void pointer and its actual structure depends entirely on how the specific file format in question is specified, which I have also not been able to find any documentation for with regards to any of the native file formats.
I've so far tried both the 4-byte char keys listed in AINativeAction.h within the SDK and even the key strings located under /aiFileFormat within the Illustrator Prefs preference file, but neither of these seem to accurately correspond to dictionary keys that the native Any Format Writer format is expecting.
Is there an actual listing for the additional options dictionary keys documented, a way to retrieve them from the actual "AI File Format" plugin that handles them, or any of the sort? Or are both WriteDocumentWithOptions() and Get/SetDocumentFileFormatParameters() effectively consigned for use only with external plugin file formats that have any actual documentation?
Unfortunately no, I'm afraid - the headers under .\action\ are, to the best of my knowledge, specific for setting parameters via the AIActionManagerSuite; that folder even has the AINativeAction.h file which is specifically for the Adobe Illustrator Any Format Writer, including keys kAINativeEmbedProfileKey 'prfl' and kAINativePDFCompatibilityKey 'pdf ' which are the options I want to set, but... the AIActionManagerSuite uses unsigned 32-bit integers for keys, whereas the AIDictionary that WriteDocumentWithOptions() expects uses typical char pointer C-strings for keys. I've tried using the keys from the actions header file nonetheless but to no effect.
Frustratingly, there are two header files that offer the kind of information I'm hoping to find but for other file formats - AIPSDKeys.h and AITIFFKeys.h provide AIDictionary keys for PSD and TIFF formats respectively, such as "PSDAntiAlias" and "TIFFAntiAlias", but I can find no corresponding file or other key list for the native illustrator AI format, nor any way to retrieve a list of possible keys by trying to ask the virtual plugin that manages the format.
I've so far been able to use the AIActionManagerSuite to work around the issue, but surely there has to be some documentation somewhere for how to set additional file format options via WriteDocumentWithOptions() ??