Skip to main content
Known Participant
September 24, 2018
Answered

How to save Ditamap as "book xx.0 with fm components" using ExtendScript?

  • September 24, 2018
  • 1 reply
  • 889 views

I'm trying to write a ExtendScript Toolkit script to save a diamap file as a "book 11.0 with fm components".  When I do this manually I check the box "Prompt for Dita Val File" and select the appropriate Dita Val File.  In the code I've written so far I can open my dita map and save it as a .book file, but I don't know how to give it the location of the Dita Val File.  Anyone know how to add that to my saveParams?

var sourceDoc = openXmlFile("FilePath to diatmap goes here");

var path = "Output FilePath goes here";

saveToFm(sourceDoc, path);

function openXmlFile(filePath) { 

    var file = File(filePath);

    var fileName = file.fsName;

    var openParams = GetOpenDefaultParams(); 

    var retParams = new PropVals();

   

    var doc = Open(fileName, openParams, retParams);

    return doc; 

function saveToFm(fileObject, savePath) { 

    var saveParams = GetSaveDefaultParams(); 

    var i = GetPropIndex(saveParams, Constants.FS_FileType); 

    saveParams.propVal.ival = Constants.FV_SaveFmtBookWithFm; 

    var saveAsName = savePath; 

    var returnParamsp = new PropVals(); 

    fileObject.Save(saveAsName, saveParams, returnParamsp); 

This topic has been closed for replies.
Correct answer frameexpert

I got this from Adobe, but I haven't tried it.

FS_DitavalFile (type: string)

-Rick

1 reply

frameexpert
Community Expert
frameexpertCommunity ExpertCorrect answer
Community Expert
September 24, 2018

I got this from Adobe, but I haven't tried it.

FS_DitavalFile (type: string)

-Rick

www.frameexpert.com
gabeS1234Author
Known Participant
September 24, 2018

Thank you!  I added these lines to my saveToFm function and it works!

var i = GetPropIndex(saveParams, Constants.FS_DitavalFile); 

saveParams.propVal.sval = "FilePath to Dita Val File goes here"

frameexpert
Community Expert
Community Expert
September 24, 2018

Fantastic! Please mark my answer as Correct. Thanks.

www.frameexpert.com