Command-line tile downloader/assembler for IIIF endpoints/manifests.
Download full-resolution image sequences from any IIIF server.
Currently not compatible with IIIF 3.0. See this issue.
bundle install bundle exec ./iiif-dl.rb --help Usage: iiif-dl.rb [options] [iiif-manifest.json] -f, --force-tiling Don't attempt full-size downloads without tiling -i, --identifier IDENTIFIER Download single IIIF identifier IDENTIFIER instead of image sequence from manifest JSON -h, --help Display this screen bundle exec ./iiif-dl.rb iiif-manifest.json bundle exec ./iiif-dl.rb -i http://example.com/iiif/IIIF_SHELFMARK_0001
You can download an IIIF manifest from e.g. the Digital Bodleian:
Alternately, if you have PhantomJS installed, you can use
jsonreqs.js to list all URLs ending in
.json requested by a given webpage URL:
phantomjs jsonreqs.js 'http://example.com/viewer.asp?manuscript=shelfmark'
In single-identifier mode, you pass the URL of an IIIF identifier, i.e. what
/info.json would be appended to in order to make an Image Information Request.
There's also an automated build for this repository on Docker Hub at
ryanfb/iiif-dl. It defines an
ENTRYPOINT which will start
iiif-dl.rb and pass any other arguments or environment variables to it, as well as defining a
/data volume which you can map to your host to store manifests and images. For example, if you were in a directory with a IIIF manifest named
manifest.json, you could download it with:
docker run -t -v $(pwd):/data ryanfb/iiif-dl manifest.json