James.TK
James.TK

Reputation: 27

Can I use Basil.js to get images from a URL?

I am a novice user at ExtendScript, Basil.js & Javascript.

After seeing the project http://basiljs.ch/gallery/ending-the-depression-through-amazon/ I wondered if it is possible to simply get the Basil.js Script/ Extendscript/Indesign to grab images from a webpage and insert it directly into a indesign document.

I am a beginner so if someone had a complete script, from directory, functions... with example url, import, save, place.... ?

This is in the hope that I could simply put an address into the script and it would harvest all images on the webpage and put them into a indesign document?

I tried their example http://basiljs.ch/tutorials/getting-images-from-urls/ but when I copy that and run it in extend script it is just searching my computer...

UPDATE*

#includepath "~/Documents/;%USERPROFILE%Documents";
#include "basil/basil.js";

function draw() {
  var url = "https://raw.github.com/basiljs/basil.js/master/lib/basil.png";

  // download the url to a default location, filename according to url:
  // -> "the project folder" + data/download/basil.png
  //b.download(url);

  // download url to a specific location in the project folder:
  // -> "the project folder" + data/download_images_files/basil_logo.png
 // b.download(url, "download_images_files/basil_logo.png");

  // download url to a specific location e.g. to your desktop
  // -> ~/Desktop/basil_logo.png
  var newFile = new File("~/Desktop/basil_logo.png");
  b.download(url, newFile);
}

b.go();

... It finds in Error in Basil's Core.js @

var runDrawOnce = function() {
  app.doScript(function() {
    if (typeof glob.draw === 'function') {
      glob.draw();
    }
  }, ScriptLanguage.javascript, undef, UndoModes.ENTIRE_SCRIPT);
};

Console says... Using basil.js 1.08 ... sh ~/Documents/basiljs/bundle/lib/download.sh /Users/jamestk/Desktop (Address here, I don't have the sufficient reputation on stack overflow)

Basil.js Error -> b.shellExecute(): Error: sh: /Users/jamestk/Documents/basiljs/bundle/lib/download.sh: No such file or directory

Upvotes: 0

Views: 674

Answers (1)

mdomino
mdomino

Reputation: 1235

The easiest way would probably be to us the b.shellExecute(cmd) command to run a shell script that downloads your images.

You could use wget from shell to download all images from an url, see this question: How do I use Wget to download all Images into a single Folder

You should make sure then to save the images in the documents data directory. After that, you could get all images by using the Folder object's getFiles() method:

var myImagesArray = Folder('~/path/to/my/folder').getFiles();

Finally you could use that array in a loop to place all the images into your document.

Upvotes: 0

Related Questions