Skip to main content
New Participant
April 11, 2022
Question

How to use document Export function from MATLAB

  • April 11, 2022
  • 3 replies
  • 972 views

I am manipulating an InDesign docment from MATLAB:

a = actxserver('InDesign.Application');
doc = a.Open('C:\TEMP\Test-3.indd');
 % make changes then export
 
I've tried different ways to export (example below), but none of them work, because I can't find a way to specify the export format.
b = doc.Export('InDesign.idExportFormat.idInteractivePDF', 'C:\TEMP\Test-2.pdf', false)
 
Any ideas would be appreciated.
 
 
This topic has been closed for replies.

3 replies

New Participant
October 12, 2022

The following code works for me:

doc.Export('Adobe PDF', 'C:\TEMP\Test-2.pdf', false);
But I don't know which string I have to use for an Interattive PDF.
Any ideas?
Brainiac
October 12, 2022

The choice of "interactive PDF" is not a different format to export. It is a choice in your PDF export settings. If you can't specify settings programmatically, then try changing them first in the UI.

New Participant
October 12, 2022

I believe that they are different. Infact, InDesign UI has two different set of export settings, one for PDF and one for interattive PDF.

Anyway after many attempts I found the code that works (if you have italian version of InDesign):

doc.Export('Adobe PDF (interattivo)', 'C:\TEMP\Test-2.pdf', false);

I think that for the English version it is:

doc.Export('Adobe PDF (interactive)', 'C:\TEMP\Test-2.pdf', false);

Brainiac
April 12, 2022

The method to export is called exportFile for the JS interface, I am not sure if it's named Export for the COM interface. You can check this out

https://www.indesignjs.de/extendscriptAPI/indesign-latest/#Document.html#d1e49413__d1e53790

Another thing that I see could be a potential issue is that according to the link below

https://www.mathworks.com/help/matlab/ref/actxserver.html

It says that "The MATLAB COM Interface does not support invoking functions with optional parameters". So if this means that we need to explicitly pass on all the params then you seem to be lacking some parameters, try passing them on.

-Manan

New Participant
April 13, 2022

Thanks for the input. For the COM interface (and Visual Basic Script) the funciton is Export. Even when I add all the optional parameters, there is still an issue with the first parameter: idExportFormat.idInteractivePDF.

 

Brainiac
April 14, 2022

I don't have anything setup to test it out personally. But what is the error message that you get, maybe that provides us with a hint. Try doing the same thing using VB, probably the syntax and the constants are the same in both.

-Manan

Brainiac
April 12, 2022

Which language is this?

 

New Participant
April 13, 2022

MATLAB is the language.  It makes use of the COM Interface for InDesign.