DEV Community

Suresh Vytla
Suresh Vytla

Posted on

HTML to PDF using Puppeteer

Hi,

We are looking in to converting html page into PDF, found Puppeteer node library and works with headless. Is it possible to create javascript library using node polyfills?

Looking into create javascript library using vitejs, so that can be used any web apps, having the following error.

[vite:load-fallback] Could not load ~/dev/node_modules/.pnpm/node-stdlib-browser@1.2.0/node_modules/node-stdlib-browser/esm/mock/empty.js/promises (imported by node_modules/.pnpm/puppeteer-core@21.3.8/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js): ENOTDIR: not a directory, open '~/dev/node_modules/.pnpm/node-stdlib-browser@1.2.0/node_modules/node-stdlib-browser/esm/mock/empty.js/promises'
error during build:
Error: Could not load ~/dev/node_modules/.pnpm/node-stdlib-browser@1.2.0/node_modules/node-stdlib-browser/esm/mock/empty.js/promises (imported by node_modules/.pnpm/puppeteer-core@21.3.8/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js): ENOTDIR: not a directory, open '~/dev/node_modules/.pnpm/node-stdlib-browser@1.2.0/node_modules/node-stdlib-browser/esm/mock/empty.js/promises'
Enter fullscreen mode Exit fullscreen mode

package.json

...
"dependencies": {
    "buffer": "^6.0.3",
    "os": "^0.1.2",
    "path": "^0.12.7",
    "puppeteer": "^21.3.8",
    "vue": "^3.3.4",
    "chromedriver": "^118.0.0"
  },
  "devDependencies": {
    "@types/jest": "^29.5.5",
    "@typescript-eslint/eslint-plugin": "^6.7.5",
    "@typescript-eslint/parser": "^6.7.5",
    "@vitejs/plugin-vue": "^4.4.0",
    "@vue/eslint-config-typescript": "^12.0.0",
    "eslint": "^8.51.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-vue": "^9.17.0",
    "husky": "^8.0.3",
    "jest": "^29.7.0",
    "lint-staged": "^14.0.1",
    "node-stdlib-browser": "^1.2.0",
    "path": "^0.12.7",
    "prettier": "3.0.3",
    "rimraf": "^5.0.5",
    "rollup": "^4.0.2",
    "rollup-plugin-typescript2": "^0.36.0",
    "stylelint": "^15.10.3",
    "stylelint-config-recommended": "^13.0.0",
    "stylelint-config-standard": "^34.0.0",
    "typescript": "^4.9.5",
    "vite": "^4.4.11",
    "vite-plugin-dts": "^3.6.0",
    "vite-plugin-eslint": "^1.8.1",
    "vite-plugin-node-polyfills": "^0.15.0",
    "vitest": "^0.34.6",
    "vue-tsc": "^1.8.19"
  },
...
Enter fullscreen mode Exit fullscreen mode

Top comments (0)