{"body": {"type": "/type/text", "value": "## Using the Internet Archive BookReader\r\nTo view the new bookreader on archive.org, click on the \"Read Online\" link on the left side of a book's details page, for example the [details page for the Bird Book](http://www.archive.org/details/birdbookillustra00reedrich).\r\n\r\n## Examples\r\n* [The Bird Book](http://www.archive.org/stream/birdbookillustra00reedrich)\r\n* [Old French Fairy Tales](http://www.archive.org/stream/oldfrenchfairyta00sgrich)\r\n* [Custom Essay Writing](http://www.bestessays.ca/)\r\n* [The Story of Jack and the Giants](http://www.archive.org/stream/storyofjackthegi00dalziala)\r\n\r\n## Report a bug or request a feature!\r\n* [View open bugs](https://bugs.launchpad.net/gnubook/+bugs).\r\n* [Report a new bug or request a feature](https://bugs.launchpad.net/gnubook/+filebug-advanced).\r\n* [View fixed bugs](https://bugs.launchpad.net/gnubook/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=FIXRELEASED&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_supervisor=&field.bug_commenter=&field.subscriber=&field.omit_dupes.used=&field.omit_dupes=on&field.has_patch.used=&field.has_cve.used=&field.tag=&field.tags_combinator=ANY).\r\n\r\n## Contributors\r\n* Raj Kumar (raj) - Bookreader Core - archive.org\r\n* Michael Ang (mang) - Bookreader Core - archive.org\r\n* Rebecca Malamud (webchick) - OLPC interface - invisible.net\r\n* Anand Chitipothu (anandology) - OLPC interface - gmail.com\r\n* Peter Binkley (pbinkley) - [hasCovers patch](https://bugs.launchpad.net/gnubook/+bug/325541) - ualberta.ca (not yet integrated)\r\n* Alex Osborne (aosborne) - [back button fix](http://github.com/ato/bookreader/commit/7858770c9a3d34a7c7f86bd2b92a646e11d2b944) - nla.gov.au\r\n\r\n## External Users\r\n* [Peel's Prairie Provinces at University of Alberta Libraries](http://peel.library.ualberta.ca/index.html)\r\n\r\n## Attribution\r\nThe GnuBook Bookreader is licensed under the [GNU Affero General Public License v3.0](http://www.gnu.org/licenses/agpl-3.0.html). It is built upon these open source tools:\r\n\r\n* [jQuery](http://jquery.com) - [John Resig and others](http://docs.jquery.com/About#Development_Team) - [Dual MIT and GPL license](http://docs.jquery.com/Licensing).\r\n* [jQuery Easing Plugin](http://gsgd.co.uk/sandbox/jquery/easing/) - [George Smith at GSGD](http://gsgd.co.uk/freelance/) - MIT License.\r\n* [Silk Icons](http://www.famfamfam.com/lab/icons/silk/) - [Mark James at FamFamFam](http://www.famfamfam.com/) - Creative Commons Attribution 2.5 License.\r\n\r\n## Download source code\r\nThe GnuBook source code is available in the openlibrary.org github repository. [Click here to browse the source code.](http://github.com/openlibrary/bookreader/tree/master)\r\n\r\n## GnuBook demo\r\nOnce you've downloaded the source code you can open GnuBookDemo/index.html in your web browser and you should see an example book. This is a good starting point when making modifications to GnuBook since it uses the latest code from GitHub.\r\n\r\n## Standalone demo\r\nThis demo will show you how to use the bookreader with your own images and does not require an Internet connection. The standalone demo uses an older version of GnuBook and is not recommended as a starting point for modifications (download from GitHub instead). [Download the standalone demo here](http://home.us.archive.org/~rkumar/StandaloneDemo.zip) (6.9MB)\r\n\r\n\r\n## Embed example\r\n\r\nThe book reader can be embedded on any site that allows you to add an iframe, for example using the code below.\r\n\r\n \r\n\r\n\r\n\r\n## Improvements on old Flipbook code\r\n* Single-Page mode\r\n* Zoom\r\n* Larger Two-page mode\r\n* Can handle pages with different sizes\r\n* Search results easier to navigate\r\n\r\n## How the Book Reader works\r\nIn the case of the Standalone Demo, operation is fairly simple. Images are numbered sequentially and stored in a directory called \"StandAloneImages\". The images are all the same size, and two functions in GnuBookJSSimple.js, getPageWidth() and getPageHeight(), return the page size. Scaling is done in the web browser.\r\n\r\nFor books scanned by the Internet Archive and stored on archive.org, bookreader operation is a bit more complex. During the book scanning process, each page is imaged using a high-resolution digital camera, and then each page is cropped and deskewed. The size of the cropped image is stored in a file called scandata.xml. During this process, some images, such as color cards, white cards, and tissue paper pages, are marked as pages that should not be displayed. This information is also stored in scandata.xml. The cropped and deskewed images are stored in JPEG 2000 format in a zip file called bookid_jp2.zip. The raw images, the cropped and deskewed images, and the scandata.xml file are available for each book on archive.org.\r\n\r\nBecause crop boxes can vary between pages for Internet Archive books, the getPageWidth() and getPageHeight() functions can return a different size for each image in the book. Also, since some pages are not supposed to be displayed, the getPageURI() function maps an \"index number\" that the book reader uses to a \"leaf number\" that corresponds to an image in the jp2.zip file. These functions use information from scandata.xml to determine size and url for each page. To use BookReader with your own book system you should implement the functions found in GnuBookJSIA.php.\r\n\r\nBecause web browsers cannot display JPEG2000 images, a piece of code called [GnuBookImages.php](http://github.com/openlibrary/bookreader/blob/master/GnuBookIA/datanode/GnuBookImages.php) performs on-the-fly JPEG2000 to JPEG conversion on the archive.org cluster. For efficiency, this code also provides server-side image scaling.\r\n\r\n\r\n## How the Bookreader Search works\r\n\r\nThe search implementation is inherited from the old version of the Flipbook. It requires OCR data with word coordinate information in [DjVu XML format](http://djvu.sourceforge.net/doc/man/djvuxml.html). An example of a DjVu XML file is [here](http://www.archive.org/download/abroadcranethoma00craniala/abroadcranethoma00craniala_djvu.xml)."}, "created": {"type": "/type/datetime", "value": "2008-09-15T04:46:55.616060"}, "title": "The Internet Archive BookReader", "last_modified": {"type": "/type/datetime", "value": "2009-11-26T05:28:55.047650"}, "latest_revision": 90, "key": "/dev/docs/bookreader", "permission": {"key": "/permission/open"}, "type": {"key": "/type/content"}, "id": 20196105, "revision": 90}