Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="no-NO">
- <head>
- <meta charset="utf-8">
- </head>
- <h1>Last ned bok fra nasjonalbiblioteket</h1>
- Dette scriptet laster ned ei bok fra <a href="http://nb.no">nasjonalbiblioteket</a> i form av et jpg-bilde per side inkl. omslag. Deretter kan du f.eks. lage en pdf-fil av bildene ved hjelp av et program.<p>
- For å fylle inn feltene her så går du til nasjonalbiblioteket og åpner boka, høyre-klikker på f.eks. side 10 og velger "Open image in new tag". Der i adresse-feltet står informasjonen du trenger.<p>
- Eksempel:<br>
- Hamsun's Sult side 10 har adressen: <code style="background-color:#ffff99">http://www.nb.no/services/image/resolver?url_ver=geneza&urn=URN:NBN:no-nb_digibok_<b>2009011604050</b>_0010&maxLevel=5&level=3&col=0&row=0&<b>resX=1760</b>&<b>resY=2872</b>&tileWidth=1024&tileHeight=1024&pg_id=10</code><br>
- Dermed kan du fylle inn:<br>
- BokID: 2009011604050<br>
- Fra side og Til side setter ihh. boka slik du ser den i nasjonalbiblioteket, hele boka blir Fra side 1 Til side 165<br>
- Level 3 gir små bilder (ei bok blir ca 5-10 MB), Level 4 gir større bilder (ei bok blir ca 20-50 MB)<br>
- ResX: 1760 og ResY: 2872<br>
- Deretter lastes boka ned i mappa 2009011604050/<br>
- <p>
- <div style="background-color:#efefef">
- <br><form action="" method=post>
- BokId: <input type=text name=bookid><p>
- Fra side <input type=text name=frompage size=3> Til side <input type=text name=topage size=3><p>
- Level 3 <input type="radio" name="level" value="3"> Level 4 <input type="radio" name="level" value="4"><p>
- ResX <input type=text name=resx size=3> ResY <input type=text name=resy size=3><p>
- <input type=submit value="Last ned">
- </form>
- <br>
- </div>
- <?php
- ini_set('memory_limit','128M');
- set_time_limit (0);
- if (!count($_POST)) exit;
- $bookid = $_POST["bookid"];
- $frompage = $_POST["frompage"];
- $topage = $_POST["topage"];
- $level = $_POST["level"];
- $resx = $_POST["resx"];
- $resy = $_POST["resy"];
- $maxlevel = 5;
- $x = 1024;
- $y = 1024;
- function merge($filename_1, $filename_2, $filename_result) {
- // Get dimensions for specified images
- list($width_1, $height_1) = getimagesize($filename_1);
- list($width_2, $height_2) = getimagesize($filename_2);
- // Create new image with desired dimensions
- $image = imagecreatetruecolor($width_1, $height_1 + $height_2);
- // Load images and then copy to destination image
- $image_1 = imagecreatefromjpeg($filename_1);
- $image_2 = imagecreatefromjpeg($filename_2);
- imagecopy($image, $image_1, 0, 0, 0, 0, $width_1, $height_1);
- imagecopy($image, $image_2, 0, $height_1, 0, 0, $width_2, $height_2);
- // Save the resulting image to disk (as JPEG)
- imagejpeg($image, $filename_result);
- // Clean up
- imagedestroy($image);
- imagedestroy($image_1);
- imagedestroy($image_2);
- }
- @mkdir($bookid);
- // Get covers
- for ($c = 1; $c <=3; $c++) {
- echo "henter cover $c...<br>";
- ob_flush();
- for ($row = 0; $row < 2; $row++) {
- $url = "http://www.nb.no/services/image/resolver?url_ver=geneza&urn=URN:NBN:no-nb_digibok_".$bookid."_C".$c."&maxLevel=$maxlevel&level=$level&col=0&row=$row&resX=$resx&resY=$resy&tileWidth=$x&tileHeight=$y";
- $img = "row$row.jpg";
- file_put_contents($img, file_get_contents($url));
- if ($level == 3) break;
- }
- if ($level == 3) {
- rename('row0.jpg', "$bookid/cover$c.jpg");
- } else {
- merge('row0.jpg', 'row1.jpg', "$bookid/cover$c.jpg");
- }
- }
- // Get pages
- for ($page = $frompage; $page <= $topage; $page++) {
- $curr_page = str_pad($page, 4, '0', STR_PAD_LEFT);
- echo "henter side $curr_page...<br>";
- ob_flush();
- for ($row = 0; $row < 2; $row++) {
- $url = "http://www.nb.no/services/image/resolver?url_ver=geneza&urn=URN:NBN:no-nb_digibok_".$bookid."_".$curr_page."&maxLevel=$maxlevel&level=$level&col=0&row=$row&resX=$resx&resY=$resy&tileWidth=$x&tileHeight=$y";
- $img = "row$row.jpg";
- file_put_contents($img, file_get_contents($url));
- if ($level == 3) break;
- }
- if ($level == 3) {
- rename('row0.jpg', "$bookid/p$curr_page.jpg");
- } else {
- merge('row0.jpg', 'row1.jpg', "$bookid/p$curr_page.jpg");
- }
- }
- if ($level == 4) {
- unlink('row0.jpg');
- unlink('row1.jpg');
- }
- echo "OK";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement