File tree 6 files changed +461
-0
lines changed
JavaScript/Webpage-as-pdf
6 files changed +461
-0
lines changed Original file line number Diff line number Diff line change
1
+ /node_modules
Original file line number Diff line number Diff line change
1
+ # Save a Webpage as a PDF
2
+
3
+ This NodeJs Script uses Puppeteer and saves a webpage as a pdf.
4
+
5
+ ## How to Run?
6
+
7
+ + Run ` npm install ` in the project folder.
8
+ + Run ` node index.js "<webpage-url>" ` to save the webpage as PDF.
9
+
10
+ ## Sample Input & Output
11
+
12
+ ![ image] ( images/webpage-pdf.png )
Original file line number Diff line number Diff line change
1
+ const puppeteer = require ( 'puppeteer' ) ;
2
+ const args = process . argv ;
3
+ getTime = ( ) => {
4
+ let today = new Date ( ) ;
5
+ let y = today . getFullYear ( ) ;
6
+ let m = today . getMonth ( ) + 1 ;
7
+ let d = today . getDate ( ) ;
8
+ let h = today . getHours ( ) ;
9
+ let mi = today . getMinutes ( ) ;
10
+ let s = today . getSeconds ( ) ;
11
+ return y + "-" + m + "-" + d + "-" + h + "-" + mi + "-" + s ;
12
+ }
13
+ // Taking input from the user
14
+ if ( args . length === 2 ) {
15
+ console . log ( "Correct command format: `node index.js <webpage-url>`" )
16
+ } else {
17
+ ( async ( ) => {
18
+ // Launching the browser
19
+ const browser = await puppeteer . launch ( )
20
+ const page = await browser . newPage ( )
21
+ await page . goto ( args [ 2 ] )
22
+ await page . emulateMediaType ( 'screen' )
23
+ // Converting to PDF
24
+ await page . pdf ( {
25
+ path : `pdf-${ getTime ( ) } .pdf` ,
26
+ printBackground : true ,
27
+ format : 'A4'
28
+ } )
29
+ await browser . close ( )
30
+ console . log ( "Saved the given webpage as PDF!" )
31
+ } ) ( ) ;
32
+ }
You can’t perform that action at this time.
0 commit comments