Puppeteer.js =>
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true })
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3419.0 Safari/537.36');
await page.goto('http://localhost:1234/pdf');
await page.emulateMedia('screen');
await page.pdf({ path: 'src/components/reportPdf.pdf'});
await browser.close();
})()
Package.json =>
{
"name": "copro-expert",
"homepage": ".",
"version": "1.0.0",
"description": "Copro Expertises",
"main": "index.js",
"scripts": {
"clean": "rm dist/bundle.js",
"start": "parcel public/index.html",
"build": "parcel build public/index.html --out-dir build --no-source-maps --no-
content-hash",
"deploy": "npm run build && firebase deploy",
"generate": "npx babel-node src/server/puppeteer.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ovieokeh/lists-pwa.git"
},
"keywords": [
"firebase",
"pwa",
"react"
],
"author": "Ovie Okeh",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/ovieokeh/lists-pwa/issues"
},
"dependencies": {
"@babel/core": "^7.10.3",
"@babel/node": "^7.10.3",
"axios": "^0.19.2",
"body-parser": "^1.19.0",
"express": "^4.17.1",
"faker": "^4.1.0",
"fetch-base64": "^2.1.2",
"firebase": "^7.15.1",
"hookrouter": "^1.2.3",
"moment": "^2.24.0",
"node": "^14.4.0",
"nodemon": "^2.0.4",
"puppeteer": "^4.0.0",
"react": "^16.12.0",
"react-dom": "^16.10.1",
"react-router-dom": "^5.1.2",
"redux": "^4.0.5",
"save": "^2.4.0",
"semantic-ui-css": "^2.4.1",
"semantic-ui-react": "^0.88.2",
"wkhtmltopdf": "^0.3.4",
"ws": "^7.3.0"
},
"devDependencies": {
"less": "^3.10.3",
"parcel-bundler": "^1.12.3"
}
}
PdfReport.jsx =>
import React, { useState, useEffect } from "react";
import { Button, Modal } from "semantic-ui-react";
const PdfReport = () => {
return (
<div className="PdfReport page">
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>a</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
<div>b</div>
</div>
)
}
export default PdfReport;
Then i run the command => "npm run generate"
And I got only one page.
I tried puppeteer with another new project react, and it works.
So i don't know what's wrong in my project.