Skip to content

lovasoa/dezoomify

Repository files navigation

Dezoomify

Dezoomify cover image

Download zoomable images

Dezoomify extracts full high-resolution images from online zoomable image interfaces. It works with several zoomable image tools, from several different websites (see the list below). It takes as input the URL of a a zoomable image and gives as output an image that you can download (by right-clicking on it, and choosing Save Image as...).

In order to find the URL of the zoomable that dezoomify requires, you can install the dezoomify browser extension. Alternatively, you can also try to find the zoomable image URL yourself.

Try it

If you are not interested in the source code and just want to assemble tiles of (dezoomify) a zoomify-powered image, go there : unzoomify an image

Troubleshooting

FAQ

If you have problems while downloading an image, then read the FAQ.

Reporting issues

Your bug reports and feature requests are welcome! Please go the the Github issue page of the project, and explain your problem. Please be clear, and give the URL of the page containing the image dezoomify failed to process.

Supported zoomable image formats

The following formats are supported by dezoomify:

The most prominent supported websites with live compatibility tests include :

  • Arts & Culture (artsandculture.google.com)
  • Czech Digital Library (api.ceskadigitalniknihovna.cz)
  • Memoire des hommes (memoiredeshommes.defense.gouv.fr)
  • London Museum collections (londonmuseum.org.uk)
  • Liechtenstein Collections (liechtensteincollections.at)
  • National Gallery (nationalgallery.org.uk)
  • National Gallery of Victoria (ngv.vic.gov.au)
  • Austrian National Library (onb.ac.at)
  • Philadelphia Museum of Art (philamuseum.org)
  • CSNTM manuscripts (collections.csntm.org)
  • National Library of Australia (nla.gov.au)
  • National Library of Israel (nli.org.il)
  • National Library of Scotland (nls.uk)
  • Academia Sinica Bronze Rubbings (bronze.asdc.sinica.edu.tw)
  • Westchester County Archives (collections.westchestergov.com)
  • Bibliotheques specialisees de Paris (bibliotheques-specialisees.paris.fr)
  • FSI Viewer examples (neptunelabs.com)
  • LizardTech ImageServer on Alabama Maps (cartweb.geography.ua.edu)
  • Geographicus (geographicus.com)
  • krpano examples (krpano.com)
  • Memorix TopViewer sites (images.memorix.nl)
  • Oklahoma State University Digital Collections (dc.library.okstate.edu)
  • OpenSeadragon Zoomify examples (openseadragon.github.io)
  • PNAV collection sites, including catalog.shm.ru, collection.pushkinmuseum.art, and collection.ethnomuseum.ru
  • University of Washington Digital Collections Mirador (digitalcollections.lib.washington.edu)

Dezoomify also has a generic dezoomer. If the zoomable image format is simple enough, you just have to enter a pattern of tile URL, and dezoomify will be able to work with it.

Screenshots

dezoomify downloading an image

Video tutorial

Video tutorial for dezzomify

Programming Languages

The aim of the script is to do as much as possible in Javascript (with the HTML5 <canvas> tag), and only the network-related stuffs on the server side. The only little piece of server-side code that remains in the code is just a proxy, used to circumvent the same-origin policy. The proxy is implemented in Javascript as a Cloudflare Pages Function (functions/proxy.js) and reused by the Node app through node-app/proxy.js.

Wikimedia

This script on wikimedia : Zoomify in the help about zoomable Images on wikimedia

Local development

The browser app is static, but it expects a /proxy endpoint. Cloudflare Pages serves functions/proxy.js at that route. The deterministic test server in tests/fixture-server.js also provides a fixture-backed /proxy route for local tests.

Run deterministic tests from tests:

npm test

Run live compatibility checks manually:

npm run test:live

Live compatibility tests intentionally touch real websites and run the browser app against each URL. They fail when automatic detection, metadata loading, or the first tile load breaks. Do not use live-only behavior as the sole regression coverage for a dezoomer; keep deterministic fixtures in tests/dezoomers.spec.js for protocol behavior, and use tests/live-compat.spec.js to notice when real-world examples have changed.

GPL

Copyright © 2011-2017 Lovasoa

This file is part of Dezoomify.

Dezoomify is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Dezoomify is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Dezoomify; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA*/

About

Dezoomify is a web application to download zoomable images from museum websites, image galleries, and map viewers. Many different zoomable image technologies are supported.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors