File tree Expand file tree Collapse file tree 4 files changed +64437
-1
lines changed Expand file tree Collapse file tree 4 files changed +64437
-1
lines changed Original file line number Diff line number Diff line change 3
3
< meta charset ="utf-8 "/>
4
4
</ head >
5
5
< a href ="rIC/index.html "> Vizualize requestIdleCallback</ a > < br />
6
- < a href ="load/index.html "> Load simulator</ a >
6
+ < a href ="load/index.html "> Load simulator</ a > < br />
7
+ < a href ="pdftopng/index.html "> PDF to PNG converter</ a >
Original file line number Diff line number Diff line change
1
+ < script src ="pdf.js "> </ script >
2
+ < script >
3
+ PDFJS . workerSrc = "pdf.worker.js" ;
4
+
5
+ var handleFiles = function ( ) {
6
+ let canvas = document . createElement ( 'canvas' ) ;
7
+ let context = canvas . getContext ( '2d' ) ;
8
+
9
+ function getBuffer ( file ) {
10
+ return new Promise ( function ( resolve ) {
11
+ let reader = new FileReader ( ) ;
12
+ reader . onload = function ( e ) {
13
+ resolve ( new Uint8Array ( e . target . result ) ) ;
14
+ } ;
15
+ reader . readAsArrayBuffer ( file ) ;
16
+ } )
17
+ }
18
+
19
+ function render ( buffer ) {
20
+ return PDFJS . getDocument ( buffer ) . then ( function ( pdf ) {
21
+ return pdf . getPage ( 1 ) ;
22
+ } ) . then ( function ( page ) {
23
+ let viewport = page . getViewport ( 2.0 ) ;
24
+ canvas . width = viewport . width ;
25
+ canvas . height = viewport . height ;
26
+ return page . render ( { canvasContext : context , viewport : viewport } ) ;
27
+ } ) . then ( function ( ) {
28
+ let img = document . createElement ( 'img' ) ;
29
+ img . src = canvas . toDataURL ( ) ;
30
+ document . body . appendChild ( img ) ;
31
+ } ) ;
32
+ }
33
+
34
+ function pdftopng ( file ) {
35
+ return getBuffer ( file ) . then ( render ) ;
36
+ }
37
+
38
+ return function handleFiles ( files ) {
39
+ for ( let f of files ) {
40
+ var png = pdftopng ( f ) ;
41
+ }
42
+ }
43
+ } ( ) ;
44
+
45
+
46
+ </ script >
47
+ < body >
48
+ < input type ="file " id ="input " onchange ="handleFiles(this.files) " accept ="application/pdf "> </ input > < br />
49
+ </ body >
You can’t perform that action at this time.
0 commit comments