🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

html2pdf-ts

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

html2pdf-ts

Convert HTML to PDF.

1.2.23
latest
Version published
Weekly downloads
777
-21.36%
Maintainers
0
Weekly downloads
 
Created

HTML2PDF-TS

NPM badges

NPM html2pdf-ts package npm downloads npm downloads

Simple lib to convert HTML to PDF, using puppeteer and qpdf to protect him with password.

This package have the following features:

  • Simple convert HTML to PDF;
  • Convert HTML to PDF and protect it with password;
  • Queue to convert HTML to PDF one per time, saving memory.

Install

First of all, install qpdf in your OS.

npm i html2pdf-ts
yarn add html2pdf-ts

Example

To execute an example, just run:

npm run start

or

yarn start

Using the package:

The example below is for executing just 1 conversion, and it happens immediately.

import { promises as fs } from 'fs';

import { html2pdf } from '../src/index';
import { HTML2PDFOptions } from '../src/types';

const exampleSingleConversion = async () => {
  const html = await fs.readFile('./example/page.html', 'utf-8');
  const options: HTML2PDFOptions = {
    format: 'A4',
    filePath: './example/example.pdf',
    landscape: false,
    protect: {
      password: '1234',
    },
    resolution: {
      height: 1920,
      width: 1080,
    },
  };

  await html2pdf.createPDF(html, options);
  console.log('PDF Generated...');
};

exampleSingleConversion();

In this other example, the queue is already used to control the conversion of HTML's into PDF's

const exampleMultipleConversion = async () => {
  const array = Array.from({ length: 51 }, (_, i) => i);
  const html = await fs.readFile('./example/page.html', 'utf-8');

  for await (const i of array) {
    const options: HTML2PDFOptions = {
      format: 'A4',
      filePath: `./example/multiples/example_${i}.pdf`,
      landscape: false,
      protect: {
        password: '1234',
      },
      resolution: {
        height: 1920,
        width: 1080,
      },
    };

    await html2pdf.addToQueue(html, options);
  }

  await html2pdf.createPDF(html, {
    format: 'A4',
    filePath: `./example/multiples/another.pdf`,
    landscape: false,
    protect: {
      password: '1234',
    },
    resolution: {
      height: 1920,
      width: 1080,
    },
  });
};

To create the PDF without password, just remove the param protect from options.

In addition, you can read a html file and pass the content to create the PDF, or just pass a pure HTML as param.

Tests

To execute tests run:

yarn test

With coverage:

yarn test:cov

License

Released under the MIT License.

FAQs

Package last updated on 18 Nov 2024

Did you know?

Socket

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