Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

nestjs-html2pdf

SaltyByte383MIT0.0.2TypeScript support: included

Simple module for nestjs framework to convert html string to pdf file using puppeteer.

pdf, nestjs pdf, html to pdf, pdf creation

readme

NestJS PDF Generation Module

This module for NestJS leverages Puppeteer to generate PDF documents from HTML. It supports generating a single PDF from HTML content and creating multiple PDFs from an array of HTML strings.

Features

  • Generate PDF from a single HTML string.
  • Generate multiple PDFs from an array of HTML strings.
  • Custom PDF options including page format, margins, and more.
  • Secure Puppeteer usage with sandbox disabled for server environments.

Installation

Install the module using npm:

npm install --save nestjs-html2pdf

Usage

Importing the Module First, import the PdfModule into your NestJS module:

import { Module } from '@nestjs/common';
import { PdfModule } from 'nestjs-html2pdf';

@Module({
imports: [PdfModule],
})
export class AppModule {}

Using the service

import { Injectable } from '@nestjs/common';
import { PdfService, PdfFileOptions, PdfMultipleFilesOptions } from 'nestjs-html2pdf';

@Injectable()
export class YourService {
  constructor(private pdfService: PdfService) {}

  async createSinglePdf() {
    const options: PdfFileOptions = {
      html: '<h1>Title</h1><p>This is a PDF generated from HTML.</p>',
      pdfOptions: { format: 'A4' }
    };
    const pdfBuffer = await this.pdfService.createPdf(options);
    // Save, send or manipulate the PDF file stored in pdfBuffer
  }

  async createMultiplePdfs() {
    const options: PdfMultipleFilesOptions = {
      htmls: [
        '<h1>Say hello</h1>',
        '<h1>Say hello again</h1>'
      ],
      pdfOptions: { format: 'A4' }
    };
    const pdfBuffers = await this.pdfService.createMultiplePdfs(options);
    // Each buffer in pdfBuffers corresponds to one of the HTML strings
  }
}

Configuration

The service accepts the following options:

  • html: A string of HTML to convert to PDF.
  • args: Additional command-line arguments to pass to Puppeteer's browser instance.
  • pdfOptions: Options for the generated PDF, such as format, margin, and more.