Search code examples
macosjavascript-automation

Pages automation: You don’t have permission


I want to export "pages" file format to "pdf". My JXA script:

function run(argv) {
  var pagesApp = Application('Pages');
  try{
      var doc = pagesApp.open('/Users/testas/Documents/test.pages')
      pagesApp.export(doc, {to: '/Users/testas/Desktop/exported.pdf', as: 'PDF'})
  } finally {
      doc.close({saving: 'no'})
  }
}

Running this script with:

osascript -l JavaScript cara.js

Output:

cara.js:135:216: execution error: Error on line 5: Error: The document “test.pages” could not be exported as “exported”. You don’t have permission. (6)

Same result even for the root user. What permission I don't have?


Solution

  • Working example:

    function run(argv) {
      var pagesApp = Application('Pages')
      try{
          var doc = pagesApp.open(new Path('/Users/testas/Documents/test.pages'))
          pagesApp.export(doc, {to: new Path('/Users/testas/Documents/exported.pdf'), as: 'PDF'})
      } finally {
          doc.close({saving: 'no'})
      }
    }