Socket
Socket
Sign inDemoInstall

generate-pdf-from-react-html

Package Overview
Dependencies
20
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    generate-pdf-from-react-html

generate-pdf-from-react-html is a React JS library for converting html to printable pdf with high quality and saving it locally.


Version published
Weekly downloads
251
decreased by-3.09%
Maintainers
1
Install size
22.7 MB
Created
Weekly downloads
 

Readme

Source

generate-pdf-from-react-html

📄 generate-pdf-from-react-html is a React JS library for converting html to printable pdf with high quality and saving it locally.

With generate-pdf-from-react-html you can include:

✔️ Images with high quality like logos, barcodes, QR codes, etc.

✔️ Applying external, internal and inline CSS

✔️ Portrait and landscape orientations

✔️ Multiple pages

✔️ Resize PDF on generating

Generated with generate-pdf-from-react-html:

Demo

milen-minchev.github.io/generate-pdf-from-react-html-demo

Installation

Use the package manager npm to install generate-pdf-from-react-html.

npm i generate-pdf-from-react-html

Usage

import { pdfFromReact } from "generate-pdf-from-react-html";

pdfFromReact(element, name, orientation  resize, debug);

ℹ️ For best result and preview set every page to width: 600px; and min-height: 840px for portrait and to width: 841px; and min-height: 595px for landscape orientation of desired element or set resize to true and will be resized automatically.

❗ In order CSS to work correctly, targeted element must be selected at top level in your style file, for example:

Correct:
#CSS
//portrait
.element-for-print {
  width: 600px;
  min-height: 840px;
  etc...
}
#SCSS
//landscape
.element-for-print {
  width: 841px;
  min-height: 595px;
  etc...
}
Wrong:
#CSS
//portrait
.parent-element .element-for-print {
  width: 600px;
  min-height: 840px;
  etc...
}
#SCSS
//landscape
.parent-element{
  .element-for-print {
    width: 841px;
    min-height: 595px;
    etc...
  }
}

Example

import { pdfFromReact } from "generate-pdf-from-react-html";

<div>
  <h1>Example page</h1>
  <div className="element-to-print">
    <p>
      Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iste quia dicta
      itaque sunt fuga, illo ad eaque ea commodi temporibus perferendis
      provident doloribus non iusto asperiores excepturi autem facere qui!
    </p>
  </div>
  <button
    onClick={() =>
      pdfFromReact(".element-to-print", "My-file", "p", true, false)
    }
  ></button>
</div>;

Options

Required
  • element : (string) - Target HTML element based on document.querySelector(CSS selectors) like ".element-for-print", "#element-for-print" etc.
  • name : (string) - Choose name for the file
  • orientation : (string) - Choose orientation portrait ("p") or landscape ("l")
Optional, default is false
  • resize : (boolean) - If set to true sets fixed size of A4 (width and min-height) on generate. ❗ Targeted element must be responsive for best result ❗
  • debug : (boolean) - If set to true it's open generated PDF in new window for preview without automatically downloading it.

License

MIT

Keywords

FAQs

Last updated on 01 Nov 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc