Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

html2pdfmake

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

html2pdfmake

HTML/DOM to pdfmake

  • 0.0.10
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-92.86%
Maintainers
1
Weekly downloads
 
Created
Source

html2pdfmake

Advanced HTML to PDFMake DocDefinition parser.

Parse HTML/DOM to pdfmake.

Install

npm i html2pdfmake
yarn add html2pdfmake

Quick Usage

Module

<div id="template">
    <p>Text</p>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.3.0-beta.2/pdfmake.min.js"></script>
<script type="module">
import {parse} from 'https://cdn.jsdelivr.net/npm/html2pdfmake/dist/html2pdfmake.mjs';
const {content, images, patterns} = parse(document.getElementById('template'));

pdfMake.createPdf({
  // everything else
  content,
  images,
  patterns
})
</script>

UMD

<div id="template">
    <p>Text</p>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.3.0-beta.2/pdfmake.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/html2pdfmake/lib/html2pdfmake.min.js"></script>
<script>
const {content, images, patterns} = html2pdfmake.parse(document.getElementById('template'));
pdfMake.createPdf({
  // everything else
  content,
  images,
  patterns
})
</script>

Config

Pass the config as the second parameter in parse function.

// parse('<div></div>', config);
export type Config = {
  globalStyles?: CssStyles, // custom global styles
  styles: CssStyles, // additional styles merged that overwrites globals styles
  nodeRule?: NodeRule // set the custom node rule. Return undefined if pre-defined rules should be applied.
  styleRule?: StyleRule // set the custom style rule. Return false if pre-defined rules should be applied.
  collapseMargin: true, // Enable/Disable margin collapse
  collapseWhitespace: true, // Enable/Disable witespace collapse
  render: (e, data) => e, // set render function for header/footer
  document: () => window.document, // set the global document object
  parseCss: (style: NodeListOf<HTMLStyleElement>) => {}, // define <style> parser
  defaultFont: 'Roboto', // set the default font
  fonts?: TFontDictionary // pass the fonts that you are using for pdfmake to filter unsupported fonts.
}

nodeRule example

const config = {
  nodeRule: (el) => {
    if (el.nodeName === '#text') {
      return {
        text: 'My Custom text'
      };
    }

    return undefined; // use pre-defined rules
  }
}

styleRule example

const config = {
  styleRule: (directive, value, props) => {
    if (directive === 'color') {
      props.color = 'red';
      return true; // 
    }

    return false;
  }
}

NodeJS

Install a HTML parser like JSDOM.

Run examples

npm i http-server -g
npm i
npm run watch
# open new terminal
http-server .
# open localhost:8080

Keywords

FAQs

Package last updated on 30 Jun 2022

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc