comparison mupdf-source/platform/wasm/examples/super-simple-viewer/index.html @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 <!DOCTYPE html>
2 <title>MuPDF Simplest Demo</title>
3 <meta charset="utf-8">
4 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
5
6 <style>
7 body { background-color: gainsboro; text-align: center; }
8 img { margin: 12px; box-shadow: 1px 1px 4px #0008; }
9 </style>
10
11 <script type="module">
12
13 "use strict"
14
15 import * as mupdf from "../../dist/mupdf.js"
16
17 window.openFile = async function openFile(file) {
18 console.log("OPEN DOCUMENT", file.name)
19
20 window.pageRoot.replaceChildren()
21
22 let pdf = mupdf.Document.openDocument(await file.arrayBuffer(), file.name)
23
24 document.title = pdf.getMetaData(mupdf.Document.META_INFO_TITLE) || file.name
25
26 // Fire off page renders on a timer to avoid blocking the browser.
27 let n = pdf.countPages()
28 for (let i = 0; i < n; ++i)
29 setTimeout(() => renderPage(pdf, i), 0)
30 }
31
32 function renderPage(pdf, i) {
33 console.log("RENDER PAGE", i+1)
34 let z = window.devicePixelRatio * 96 / 72
35 let png = pdf.loadPage(i).toPixmap([z,0,0,z,0,0], mupdf.ColorSpace.DeviceRGB).asPNG()
36 let img = new Image()
37 img.src = URL.createObjectURL(new Blob([png], { type: "image/png" }))
38 img.onload = function () {
39 img.style.width = img.width / window.devicePixelRatio + "px"
40 window.pageRoot.appendChild(img)
41 }
42 }
43
44 </script>
45
46 <body>
47 <input type="file" accept=".pdf,.xps,application/pdf" onchange="openFile(event.target.files[0])">
48 <div id="pageRoot">
49 </div>
50 </body>
51
52 </html>